我知道在Python中对列表/字典进行排序的问题已经有很多,但似乎找不到一个能帮助我解决问题的,而我正在寻找最有效的解决方案,因为我将对一个相当大的数据集进行排序。
目前我的数据基本上看起来像这样:
a = {'a': (1, 2, 3), 'b': (3, 2, 1)}
我正在创建一个单词列表,其中我存储每个单词以及一些关于它的统计数据(n、Sigma(x)、Sigma(x^2))。
我想根据特定的统计数据对其进行排序。到目前为止,我一直在尝试以下类似的方法:
b = a.items()
b.sort(key = itemgetter(1), reverse=True)
我不确定如何控制基于哪个索引进行排序,因为它实际上是由元组的元组构成的列表?我猜我需要嵌套两个itemgetter操作,但不太确定如何做到这一点。
如果应该使用更好的数据结构,请告诉我。也许我应该创建一个小类/结构,然后使用lambda函数来访问类的成员?
非常感谢
AttributeError: 'dict' object has no attribute 'sort'
。 - Ryan w