为了账号安全,请及时绑定邮箱和手机立即绑定

Python进阶教程4-3,用Python3怎么写

5adde6a50001dc1606580493.jpg
教程都是根据2.7写的,用的cmp,虽然也没看懂,求解释,重点是3版本怎么写,sorted要用key表达,求大神解疑

正在回答

3 回答

L2 = sorted(L1,key=lambda x:x.name)

2 回复 有任何疑惑可以回复我~
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-


from functools import cmp_to_key


class Person:
    pass


p1 = Person()
p1.name = 'Bart'

p2 = Person()
p2.name = 'Adam'

p3 = Person()
p3.name = 'Lisa'

L1 = [p1, p2, p3]


def mycmp(p1, p2):
    if p1.name > p2.name:
        return 1
    elif p1.name < p2.name:
        return -1
    else:
        return 0


L2 = sorted(L1, key=cmp_to_key(mycmp))

print(L2[0].name)
print(L2[1].name)
print(L2[2].name)

https://img1.sycdn.imooc.com//5afffc270001dc3a08320228.jpg

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255747    人
  • 解答问题       2946    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

Python进阶教程4-3,用Python3怎么写

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信