Python字典排序要将dict按value排序源码怎么写,pythondict,下面这个字典 dict,


下面这个字典 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 OrderedDictfoo = 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

编橙之家文章,

评论关闭