2017-03-26 5 views
2

Ich habe eine Funktion, die eine variable Anzahl von Ausgaben zurückgeben kann. Ich möchte dies wie so in ein Wörterbuch speichern:Ausgaben einer Funktion zu einem Wörterbuch zurückgeben

val_dict={} 
idx = 0 

for key in some_test_function(1,2,3): 
    val_dict[idx] = key 
    idx +=1 

Jetzt, während das Ding funktioniert, ich frage mich, ob es eine elegantere Art und Weise, es zu tun ist. Irgendwelche Ideen?

Antwort

3

können Sie die enumerate() function verwenden, um die Indizes im Wörterbuch hinzuzufügen:

val_dict = dict(enumerate(some_test_function(1, 2, 3))) 

Diese Sie die exakt gleiche Integer-Index auf Werte-Mapping gibt. Allerdings nur eine Liste würden Sie genau die gleiche Index-to-Value-Mapping:

val_list = list(some_test_function(1, 2, 3)) 

(wenn some_test_function bereits gibt ein list Objekt, entfernen Sie einfach den list() Anruf).

Verwandte Themen