2017-05-21 8 views
2

Mit zwei Arrays gleicher Länge, wie kann ich ein Hash-Objekt erstellen, wo die Elemente aus einem Array (die Schlüssel) mit den Elementen des anderen (die Werte) verknüpft sind.Hash aus zwei Arrays/Listen in Python

Zum Beispiel in Java kann ich HashMap verwenden:

String[] keys= {"apple", "banana", "cherry"}; 
int[] vals= {1, 2, 3}; 
HashMap<String, Integer> hash= new HashMap<String, Integer>(); 

for(int i= 0; i < keys.length; i++){ 
    hash.put(keys[i], vals[i]); 
} 

Wie könnte diesen Python tun?

+3

Einfach 'dict (zip (keys, vals))' – vaultah

Antwort

1

Sie können zip in einem Wörterbuch Verständnis verwenden das gleiche Ergebnis in Python zu erreichen:

>>> keys = ['apple', 'banana', 'cherry'] 
>>> values = [1, 2, 3] 
>>> hash = {key: value for key, value in zip(keys, values)} 
>>> hash 
{'apple': 1, 'banana': 2, 'cherry': 3} 
2

Für die Nachwelt scheint es so als eine formale Antwort gegeben werden soll. (Aus den Kommentaren genommen.)

dict(zip(keys, vals))