Python 3 升级

我不是 python 程序员,所以来到这里..


我知道 cmp 在 python3 中已被贬值,我正在尝试将此 python 2 代码迁移到 python3,我将不胜感激。


def get_datalink_points( drivers ):

points = []

for driver in drivers:

    points += driver.points


def 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:     TypeError

Exception Value:    'cmp' is an invalid keyword argument for sort()

谢谢你的帮助。


临摹微笑
浏览 1619回答 1
1回答

饮歌长啸

sorted()Python 3 中有效的等效调用是:return sorted( points, key=lambda x: x.datalink.target if x.datalink is not None else '' )
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python