对字典列表值进行排序

3
我有如下的defaultdict。
(<tpe 'list'>, {'one' : ['1a','3f','2z'], 'two' : ['6x','9d','2q']})

有一种方法可以使每个键的值排序,并将新的defaultdict设置为以下内容吗?
(<tpe 'list'>, {'one' : ['1a','2z','3f'], 'two' : ['2q','6x','9d']})

你的 two 数组看起来有问题。那甚至不是一个合适的字典。 - fulvio
3个回答

2

以下是我使用字典生成器方法的一行代码:

dict((k,sorted(v)) for k, v in d.items())

输出:

d = {'one': ['1a', '3f', '2z'], 'two': ['6x', '9d', '2q']}
dict((k,sorted(v)) for k, v in d.items())
Out[81]: {'one': ['1a', '2z', '3f'], 'two': ['2q', '6x', '9d']}

0

你可以像这样对字典列表的值进行排序:

my_dict = {'one': ['1a', '3f', '2z'], 'two': ['6x', '9d', '2q']}
print my_dict
for key, value in my_dict.iteritems():
    my_dict[key] = sorted(value)
print my_dict

0

遍历字典的值,并在每个值上调用sort方法。

d = {'one': ['1a', '3f', '2z'], 'two': ['6x', '9d', '2q']}
for v in d.itervalues():
    v.sort()

print d
# OUT: {'two': ['2q', '6x', '9d'], 'one': ['1a', '2z', '3f']}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接