6 Stimmen

Gibt es einen besseren Weg, um eine Liste in ein Wörterbuch in Python mit Schlüsseln, aber keine Werte zu konvertieren?

Ich war mir sicher, dass es einen One-Liner geben würde, um eine Liste in ein Wörterbuch zu konvertieren, wobei die Elemente in der Liste Schlüssel sind und das Wörterbuch keine Werte hat.

Die einzige Möglichkeit, die ich finden konnte, war, dagegen zu argumentieren.

"Die Verwendung von Listenauffassungen, wenn das Ergebnis ignoriert wird, ist irreführend und ineffizient. A for Schleife ist besser"

myList = ['a','b','c','d']
myDict = {}
x=[myDict.update({item:None}) for item in myList]

>>> myDict
{'a': None, 'c': None, 'b': None, 'd': None}

Es funktioniert, aber gibt es einen besseren Weg, dies zu tun?

1voto

Markon Punkte 4180

Vielleicht können Sie itertools verwenden:

>>>import itertools
>>>my_list = ['a','b','c','d']
>>>d = {}
>>>for x in itertools.imap(d.setdefault, my_list): pass
>>>print d
{'a': None, 'c': None, 'b': None, 'd': None}

Für große Listen ist das vielleicht ganz gut :P

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X