排序字典列表值
Sorting dictionary list values
我有以下默认字典
(<tpe 'list'>, {'one' : ['1a','3f','2z'], 'two' : ['6x','9d','2q']})
有没有一种方法可以对每个键的值进行排序并将新的 defaultdict 设置为:
(<tpe 'list'>, {'one' : ['1a','2z','3f'], 'two' : ['2q','6x','9d']})
您可以像这样对字典列表值进行排序:
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
遍历字典的值并对每个值调用排序方法。
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']}
这是我使用 dict 生成器方法的单行代码:
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']}
我有以下默认字典
(<tpe 'list'>, {'one' : ['1a','3f','2z'], 'two' : ['6x','9d','2q']})
有没有一种方法可以对每个键的值进行排序并将新的 defaultdict 设置为:
(<tpe 'list'>, {'one' : ['1a','2z','3f'], 'two' : ['2q','6x','9d']})
您可以像这样对字典列表值进行排序:
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
遍历字典的值并对每个值调用排序方法。
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']}
这是我使用 dict 生成器方法的单行代码:
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']}