it-swarm.com.de

Liste der Tupel zum Wörterbuch

So konvertiere ich derzeit eine Liste von Tupeln in ein Wörterbuch in Python:

l = [('a',1),('b',2)]
h = {}
[h.update({k:v}) for k,v in l]
> [None, None]
h
> {'a': 1, 'b': 2}

Gibt es einen besseren Weg? Es scheint, dass es einen Einzeiler geben sollte, um dies zu tun.

74
Sarah Vessels

(Hinweis: Ein "Hash" wird in Python als "Wörterbuch" bezeichnet.)

>>> my_list = [('a', 1), ('b', 2)]
>>> dict(my_list)
{'a': 1, 'b': 2}
127
Sven Marnach

Der Konstruktor dict akzeptiert Eingaben genau so, wie Sie sie haben (Schlüssel/Wert-Tupel).

>>> l = [('a',1),('b',2)]
>>> d = dict(l)
>>> d
{'a': 1, 'b': 2}

Aus der Dokumentation :

Beispielsweise geben diese alle ein Wörterbuch zurück, das gleich {"eins": 1, "zwei": 2} ist:

dict(one=1, two=2)
dict({'one': 1, 'two': 2})
dict(Zip(('one', 'two'), (1, 2)))
dict([['two', 2], ['one', 1]])
22
FogleBird

Mit dict Verständnis:

h = {k:v for k,v in l}
8
zety