我知道已经有很多关于 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 函数来访问该类的成员?
非常感谢
像这样的东西吗?
>>> a = {'a': (1, 2, 3), 'b': (3, 2, 1)}
>>> b = a.items()
>>> b
[('a', (1, 2, 3)), ('b', (3, 2, 1))]
>>> b.sort(key=lambda x:x[1][2]) # sorting by the third item in the tuple
>>> b
[('b', (3, 2, 1)), ('a', (1, 2, 3))]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)