【发布时间】:2021-08-13 03:02:08
【问题描述】:
考虑以下代码 sn-p。
## Heading ##
def pos(l):
count_positive=0
for i in l:
if i>0:
count_positive+=1
return count_positive
def even(l):
count_even=0
for i in l:
if i%2==0:
count_even+=1
return count_even
list_int=[[2,-3,-6,10],[10,34,26,87],[1,-2,-3,4]]
list_int=sorted(list_int,key=lambda x: (pos(x),even(x)))
print(list_int)
Lambda 函数不能有多个表达式。
但在上面的代码中,我尝试先根据正元素的数量然后根据偶数元素的数量对 2D 列表进行排序。这不是说 lambda 函数中有两个表达式吗?还是像我将这两个条件包含在一个元组中一样,它会被视为一个单一条件?
【问题讨论】:
标签: python-3.x lambda