我要做的是对元组列表进行排序,元组中的第一个单元格可以是多个嵌套元组,但第二个单元格始终是int值,
我的代码:
t = [('d',2), ('b', 1), (('a', 'c'), 2)]
sorted(t, key=lambda x: x[1], reverse=True)
但这不起作用,最后一个嵌套元组保持最终状态。 任何想法?
答案 0 :(得分:4)
sorted方法返回一个新的排序列表。它不会修改现有列表。另一方面,list.sort()方法就地对列表进行排序。
t = [('d',2), ('b', 1), (('a', 'c'), 2)]
要对此进行排序,请使用
t = sorted(t, key=lambda x: x[1], reverse=True)
或
t.sort(t, key=lambda x: x[1], reverse=True)