Dav*_*ite 9 python sorting dictionary tuples
我知道python排序列表/词典已经有很多问题,但我似乎找不到一个对我来说有帮助的问题,而且我正在寻找最有效的解决方案,因为我将要排序一个相当大的数据集.
我的数据目前看起来基本上是这样的:
a = {'a': (1, 2, 3), 'b': (3, 2, 1)}
Run Code Online (Sandbox Code Playgroud)
我基本上创建了一个单词列表,其中我存储了每个单词以及一些关于它的统计数据(n,Sigma(x),Sigma(x ^ 2))
我想根据特定的统计数据对其进行排序.到目前为止,我一直在尝试以下方面:
b = a.items()
b.sort(key = itemgetter(1), reverse=True)
Run Code Online (Sandbox Code Playgroud)
我不确定如何根据它实际上是元组元组的列表来控制它排序的索引?我想我实际上需要嵌套两个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))]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12118 次 |
最近记录: |