2016-06-10 6 views
3

Ich habe folgende defaultdictSortierung Wörterbuchliste Werte

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

gibt es eine Möglichkeit, dass meine Werte pro Taste wird die neue defaultdict sortiert werden und haben wie:

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

Ihr 'two' Array sieht falsch. Das ist nicht einmal ein richtiges Wörterbuch. – fuzz

Antwort

2

Hier ist meine Einzeiler Ansatz dict Generator:

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

Ausgang:

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

Sie die sortieren Wörterbuchliste Werte wie folgt aus:

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

Iterate durch die Werte des Wörterbuchs und rufen Sie die Sortiermethode für jeden einzelnen.

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