2016-03-20 11 views
0

Ich schien einen kleinen Haken getroffen haben. Ich habe ein Programm, das ein Wörterbuch mit paar Schlüssel und Werte bekommt:Wie Wörterbuch Werte in Form von Listen mit random.shuffle

dict = {"M" : ["L", "V", "A"], "C": ["N", "K", "W"]} 

Nun, ich versuche, eine Funktion zu machen, wird ein Wörterbuch und einen Schlüssel von ihm vorgesehen ist, zurück, die bestimmte Schlüsselwert, so:

def value(dictionary, key) 
    return dictionary[key] 

, die ich erfolgreich geschaffen, aber das Problem tritt auf, wenn ich versuche, diese bestimmte Liste in zufälliger Reihenfolge zurückzukehren, mit random.shuffle() arbeiten. Es wird jedoch immer None zurückgegeben. Hat jemand irgendwelche Ideen?

+2

Vorausgesetzt, dass Sie nicht die Mühe, den Code zeigt (a [MCVE] wäre hilfreich), kann ich nur vermuten, dass Sie haben nicht herausgefunden, dass "Shuffle" ** in-Place ** funktioniert, es gibt die gemischte Liste nicht zurück. – jonrsharpe

Antwort

1

als Shuffle arbeitet an Ort und Stelle, kehren die Liste nach Shuffle wie folgt:

from random import shuffle 
sample_dict = {"M": ["L", "V", "A"], "C": ["N", "K", "W"]} 


def get_value(dictionary, key): 
    a = dictionary[key] 
    shuffle(a) 
    return a 

b = get_value(sample_dict, "M") 
print b 
+0

ty, du hast mir eine Idee gegeben und es funktioniert jetzt – Jervis

Verwandte Themen