玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python字典排序要将dict按value排序源码怎么写

下面这个字典 dict,如何按照 value 重新排序?

foo = {
    a: 2,
    b: 1,
    c: 6,
    d: 4,
    e: 3,
    f: 5
}

[v for v in sorted(foo.values())]

以及,这个字典是不是有问题啊。。。。

dict 本身是无序的,这时候你需要的是OrderedDict

顺带说下你这个dict有问题,key在这里应当是字符串吧,来看栗子:

from collections import OrderedDict

foo = OrderedDict([
    ('a', 2),
    ('b', 1),
    ('c', 6),
    ('d', 4),
    ('e', 3),
    ('f', 5)
])
bar = OrderedDict(sorted(foo.items(), key=lambda x: x[1]))
print(bar)

直接打印出来好像没dict好看,用json加工一下,结果如下:

[1]In: import json
[2]In: print(json.dumps(bar, indent=4))

[3]Out:
{
    "b": 1,
    "a": 2,
    "e": 3,
    "d": 4,
    "f": 5,
    "c": 6
}

EOF

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19357.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月18日 - 17时00分34秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules