【问题标题】:Sort dict by second value in tuple and return dict按元组中的第二个值对字典进行排序并返回字典
【发布时间】:2015-10-30 21:35:19
【问题描述】:
from collections import defaultdict,OrderedDict
tt=defaultdict (list)

tt={'abcd':(23,77),'ddef':(55,22)}

c=OrderedDict (sorted (tt.items (),key=lambda t: t[1][1]))

print (c)
d=list ((k,v) for k,v in c.items())

print (d)

这对 c 正确排序。
List 从 OrderedDict 制作字典

d 得到 {'ddef':(55,22),'abcd':(23,77)}

【问题讨论】:

  • 为什么需要按特定顺序使用 dict?有一些合法的用例,但通常情况下,要么列表更好,要么实际上不需要顺序。 (在选择元素去哪里的数据结构和你选择元素去哪里的数据结构之间有一个基本的权衡。字典选择他们的元素去哪里,这使得键查找速度很快,但需要额外的开销来保持顺序感。)

标签: sorting python-3.x dictionary defaultdict


【解决方案1】:

修改了代码。现在工作正常。
我需要按元组的第二个元素按排序顺序显示前 (n) 个键。
Dict 似乎是最好的路线,列表中只有 50 项,我需要按顺序排列前十项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    相关资源
    最近更新 更多