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

不明白这句代码,L2

L2 = sorted(L1, lambda p1, p2: cmp(p1.name, p2.name))

正在回答

1 回答

首先是sorted函数,第一个参数为LIST 即 L1 第二个参数为定义的比较函数;

lambda p1, p2: cmp(p1.name, p2.name)  意思是,传入p1和p2,比较两者的name

这样一分解就容易理解了吧

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

Nick_0031

还是不懂,我反应比较慢,逻辑根不上,能在详细点不
2015-04-17 回复 有任何疑惑可以回复我~
#2

迷途楠 回复 Nick_0031

这句代码的意思:匿名函数的两个参数是P1,P2,对两个参数执行CMP函数,即是传入P1,P2,比较两者的name大小
2015-07-23 回复 有任何疑惑可以回复我~
#3

銥嘫詳啄擬 回复 迷途楠

为什么p3不加进去比较呢
2015-11-22 回复 有任何疑惑可以回复我~
#4

夜雨丽之恋 回复 銥嘫詳啄擬

我也想问,这个是什么原因,讲解下
2015-11-23 回复 有任何疑惑可以回复我~
#5

小二百 回复 銥嘫詳啄擬

def cmpa(x,y): if x<y: return -1 elif x==y: return 0 else: return 1 print sorted([1,4,2,5,3],cmpa)
2015-11-24 回复 有任何疑惑可以回复我~
#6

小二百 回复 夜雨丽之恋

看我写的例子,列表的元素也不治x和y两个元素的
2015-11-24 回复 有任何疑惑可以回复我~
#7

涅槃啊 回复 銥嘫詳啄擬

把p1,p2换成x,y就好理解了
2017-04-12 回复 有任何疑惑可以回复我~
查看4条回复

举报

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

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

进入课程

不明白这句代码,L2

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