小编San*_*tiy的帖子

使用lambda时索引超出范围

我现在对Python中的lambda运算符有点困惑.以下(工作)代码在所有元组的第一个元素上出现元组第一个元素的次数之后对元组列表进行排序:

tuples = [(2, 1, 8, 4), (3, 4, 8, 1), (3, 8, 1, 4), (4, 1, 8, 3),
              (4, 8, 1, 3), (8, 8, 3, 1), (8, 1, 3, 4), (8, 4, 1, 3),
              (8, 4, 3, 1)]

temp = list(zip(*tuples))    
tuples.sort(key=lambda x: temp[0].count(x[0])
                ,reverse=True)

print(tuples)
Run Code Online (Sandbox Code Playgroud)

但是,如果我现在尝试跳过创建"temp",即写下:

tuples = [(2, 1, 8, 4), (3, 4, 8, 1), (3, 8, 1, 4), (4, 1, 8, 3),
              (4, 8, 1, 3), (8, 8, 3, 1), (8, 1, 3, 4), (8, 4, …
Run Code Online (Sandbox Code Playgroud)

python lambda

12
推荐指数
1
解决办法
2425
查看次数

标签 统计

lambda ×1

python ×1