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

python3怎么写sorted?一定要写key吗?

我按照教程写的不对呀https://img1.sycdn.imooc.com//5b7e6f0b0001207b05540382.jpg

正在回答

6 回答

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

这样写即可

1 回复 有任何疑惑可以回复我~
L2 = sorted(L1, key=functools.cmp_to_key(lambda p1, p2: ord(p1.name[0]) - ord(p2.name[0])))

试试上面这个。

3 回复 有任何疑惑可以回复我~
#1

Noah_________

# 需要先导入functools模块 import functools
2018-10-09 回复 有任何疑惑可以回复我~

class Person(object):

  pass

p1 = Person()

p1.name = 'Bart'


p2 = Person()

p2.name = 'Adam'


p3 = Person()

p3.name = 'Lisa'

L1 = [p1,p2,p3]

L2 = [];


for i in L1:

    L2.append(i.name)

    L3 = sorted(L2)

print(L3)

python3.7版本 lambda函数不太理解

0 回复 有任何疑惑可以回复我~
#1

925755208

lambda是匿名函数,我觉得问题是出在cmp这个函数是否是在3.7版本内,还是说需要调用functools模块
2018-09-16 回复 有任何疑惑可以回复我~

python3好像没有cmp了吧 

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

楼主是什么错误

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

第一行L1写错了,是L2[0].name

0 回复 有任何疑惑可以回复我~
#1

iszhi 提问者

这个是我测试L1,我的问题是说sorted这一句在python3上过不去。
2018-08-23 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

python3怎么写sorted?一定要写key吗?

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