2014-03-24 14 views
14

Ich habe eine Liste von etwa 50 Zeichenfolgen mit einer Ganzzahl, die darstellt, wie häufig sie in einem Textdokument auftreten. Ich habe es bereits formatiert, wie unten gezeigt, und versuche, ein Wörterbuch dieser Information zu erstellen, wobei das erste Wort der Wert und der Schlüssel die Zahl daneben ist.Python Konvertieren von Paaren Liste zu Wörterbuch

string = [('limited', 1), ('all', 16), ('concept', 1), ('secondly', 1)] 

Der Code habe ich bisher:

my_dict = {} 
for pairs in string: 
    for int in pairs: 
     my_dict[pairs] = int 
+3

"Zeichenfolge" ist vielleicht keine gute Wahl für den Namen dieses Objekts. –

+0

Mögliches Duplikat von [Python: Liste von Schlüssel-Wert-Tupeln in Wörterbuch umwandeln?] (Http://stackoverflow.com/questions/6586310/python-convert-list-of-key-value-tuples-into-dictionary) –

Antwort

32

Wie diese dict() Funktion der Python perfekt zur Umwandlung eines list von tuple s ausgelegt ist, das ist, was Sie haben:

>>> string = [('limited', 1), ('all', 16), ('concept', 1), ('secondly', 1)] 
>>> my_dict = dict(string) 
>>> my_dict 
{'all': 16, 'secondly': 1, 'concept': 1, 'limited': 1} 
+0

Komm schon, das muss in der Dokumentation sein. Es ist wie, das erste, was du durch Versuch und Irrtum ausprobieren würdest. –

10

Rufen Sie einfach dict():

>>> string = [('limited', 1), ('all', 16), ('concept', 1), ('secondly', 1)] 
>>> dict(string) 
{'limited': 1, 'all': 16, 'concept': 1, 'secondly': 1} 
1

Die string Variable ist eine Liste von Paaren. Es bedeutet, dass Sie etwas ähnliches tun können:

string = [...] 
my_dict = {} 
for k, v in string: 
    my_dict[k] = v 
+0

Dies kann in nur einer Zeile mit einem Wörterbuch Verständnis getan werden. –

+1

@AlexThornton Ich weiß. Aber da es scheint, dass das OP gerade mit Python beginnt, denke ich, ist es eine gute Idee, seine Lösung schrittweise zu entwickeln. Das Diktat mag für jemanden, der mit der Programmierung in Python beginnt, magisch erscheinen ... – vz0

Verwandte Themen