2016-06-10 108 views
3

我有以下defaultdict排序詞典列表值

(<tpe 'list'>, {'one' : ['1a','3f','2z'], 'two' : ['6x','9d','2q']}) 

有沒有辦法,使得每個鍵我的值進行排序,並具有與新defaultdict:

(<tpe 'list'>, {'one' : ['1a','2z','3f'], 'two' : ['2q','6x','9d']}) 
+0

你'two'陣列看起來是錯誤的。這甚至不是一本正確的字典。 – fuzz

回答

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

遍歷字典的值並調用每個字段的排序方法。

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']}