首页 > 解决方案 > 用列表值对 dict 进行排序的最 Pythonic 方法是什么?

问题描述

我正在创建一个字典,其值作为整数列表。对每个键的值进行排序的pythonic方法是什么?在我的方法中,我在排序后覆盖每个键值。

有没有办法在插入字典时保持排序,或者最好先存储然后对值进行有效排序?

my_dict = {
'first': [3,6,99],
'second': [1,-10,100],
'third': [5,0,23,67,29]
}

# my approach
for key, values in my_dict.items():
    my_dict[key] = sorted(values)

输出:

my_dict = {
'first': [3,6,99],
'second': [-10,1,100],
'third': [0,5,23,29,67]
}

标签: pythonpython-3.xdictionary

解决方案


你快到了,你想对列表进行排序,所以使用list.sort

my_dict = {
    'first': [3,6,99],
    'second': [1,-10,100],
    'third': [5,0,23,67,29]
}

for val in my_dict.values():
    val.sort()

现场演示

检查此排序如何指导


推荐阅读