2017-12-17 1 views
0

Angenommen, ich habe zwei Listen, wobei die eine eine verschachtelte Liste ist und die andere eine normale Liste, wie kombiniere ich sie zu einem Wörterbuch?Verschachtelte Liste und normale Liste zu einem Wörterbuch zusammenfügen

[[1, 3, 5], [4, 6, 9]] # Nested list 

[45, 32] # Normal list 

{(1, 3, 5): 45, (4, 6, 9): 32} # The dictionary 

habe ich versucht, diese aber es gibt mir einen Fehler,

dictionary = dict(zip(l1, l2))) 
print(dictionary) 
+0

@StefanPochmann Sorry, ich gehören, dass –

Antwort

6

Der Fehler, den Sie so etwas wie dies war wahrscheinlich bekam:

TypeError: unhashable type: 'list' 

[1, 3, 5] und (1, 3, 5) sind nicht das gleiche. Tupel sind unveränderlich und können daher als Wörterbuchschlüssel verwendet werden, aber Listen können nicht, weil sie geändert werden können.

Die folgende funktioniert:

dict(zip(map(tuple, l1), l2))) 

Oder deutlicher:

{tuple(k): v for k, v in zip(l1, l2)} 
+0

Und ja, dass der Fehler war ich bekam –

Verwandte Themen