在python中使用lambda而不是itemgetter

时间:2015-10-03 21:46:13

标签: python sorting lambda

使用sort可以使用列表[2,5]或[2,5,6]或仅使用[2]作为itemgetter的参数:

netcat

但我不知道如何使用lambda函数具有相同的行为,只能使用一个元素,更多它会给我一个错误“TypeError:元组索引必须是整数,而不是列表”

list_items = [2, 5, 6]
sorted(table_rows, key=itemgetter(*list_items), reverse=rev)

1 个答案:

答案 0 :(得分:2)

你总是可以直接构造元组:

sorted(table_rows, key=lambda x:tuple(x[i] for i in list_items), reverse=rev)

这实际上是itemgetter()的作用。