这是我的字典:
x = {'1':('hi','10','0.1','A'),
'2':('bye','20','0.3','B')}
我想对第二个元组的第二项进行排序,我尝试了这个。
sorted_x =
sorted(x.items(), key=operator.itemgetter(1), reverse=True)
然而,它没有排序。
我知道1
中的key = operator.itemgetter(1)
表示排序第二元组而不是元组中的第二项。那么我如何对第二元组中的第二项进行排序?它是值'20'
和'10'
的列。
我希望输出:
sorted_x =
[('2',('bye','20','0.3','B')),
('1',('hi','10','0.1','A'))]
答案 0 :(得分:1)
您最想要做的是使用lambda
创建一个函数。
这应该有效sorted(x.items(), key=lambda t: t[1][1], reverse=True)
。我们的想法是创建一个返回元组t
的第二项的第二项的函数。