我不是 python 程序员,所以来到这里..我知道 cmp 在 python3 中已被贬值,我正在尝试将此 python 2 代码迁移到 python3,我将不胜感激。def get_datalink_points( drivers ):points = []for driver in drivers: points += driver.pointsdef compare_datalink_target( a, b ): target_a = target_b = '' if a.datalink is not None: target_a = a.datalink.target if b.datalink is not None: target_b = b.datalink.target return cmp( target_a, target_b )return sorted( points, cmp = compare_datalink_target )此代码当前生成以下错误:Exception Type: TypeErrorException Value: 'cmp' is an invalid keyword argument for sort()谢谢你的帮助。
1 回答
饮歌长啸
TA贡献1951条经验 获得超3个赞
sorted()
Python 3 中有效的等效调用是:
return sorted( points, key=lambda x: x.datalink.target if x.datalink is not None else '' )
添加回答
举报
0/150
提交
取消