python中的lambda键和排序
我很难理解:python中的lambda键和排序,python,sorting,lambda,Python,Sorting,Lambda,我很难理解: key = lambda x: x[1] list = [(i,sum(1 for y in lower_letters if y==i)) l.sort(cmp=lambda x,y: cmp(x[1],y[1]))) #only 2.x??? cmp(a,b) 它是否返回与“.sort”不同的内容? 有人能解释一下它应该做什么吗? 为什么我们不使用list.sort()之类的东西 我真的不知道x,y是什么意思,这就是我老师写的,我试着猜她是什么意思 cmp指
key = lambda x: x[1]
list = [(i,sum(1 for y in lower_letters if y==i))
l.sort(cmp=lambda x,y: cmp(x[1],y[1]))) #only 2.x???
cmp(a,b)
它是否返回与“.sort”不同的内容?
有人能解释一下它应该做什么吗?
为什么我们不使用list.sort()之类的东西
我真的不知道x,y是什么意思,这就是我老师写的,我试着猜她是什么意思
cmp
指定两个参数(iterable元素)的自定义比较函数,根据第一个参数是否被视为小于、等于或大于第二个参数,该函数应返回负数、零数或正数:cmp=lambda x,y:cmp(x.lower(),y.lower())。默认值为“无”
以及构建int的文档
比较两个对象x和y,并根据结果返回一个整数。如果x@你的问题不够清楚 据我所知,您想知道如何使用
key=lambda…
进行排序吗
我可以举一些例子:
您有一个元组列表,l=[(1,2)、(3,4)、(5,1)、(2,3)]
sorted(l)
,这将按每个元组的第一个元素对列表进行排序,结果是[(1,2)、(2,3)、(3,4)、(5,1)]
[(5,1)、(1,2)、(2,3)、(3,4)]
。编号1也相当于排序(l,key=lambda x:x[0])排序(l,key=sum)
,这将导致[(1,2)、(2,3)、(5,1)、(3,4)]
*上述3个示例从最低到最高排序。欢迎使用SO。请提供一个.1)
键
未在任何地方使用。为什么定义它?2) 不要命名变量列表
,这是一个内置函数。3) 什么是l
?