2017-10-24 2 views
0

Ich versuche, ein Wörterbuch für die folgende Tupel-Liste zu erstellen:Wie erstellt man ein Wörterbuch aus Join?

lst=[('ldb', 25), ('baseB', 4), ('code', 112), 
    ('cache-6', 55), ('Xauthority', 1), ('baseA', 4), 
    ('npmrc', 1), ('apmrc', 1),('gz', 190), 
    ('dbf', 1), ('lst', 2), ('markdown', 10), 
    ('sqlite-shm', 2), ('vsixmanifest', 4), ('ttf', 109), 
    ('pkl', 35), ('gitignore', 8), ('xml', 46)] 

Durch wie dies mit beitreten:

op= {','.join('\'%s\':%d'%i for i in lst)} 

Aber der Ausgang op wird set wie unten vom Typ sein !!

set(["'ldb':25,'baseB':4,'code':112,'cache-6':55, 'Xauthority':1,'baseA':4,'npmrc':1,'apmrc':1, 
'gz':190,'dbf':1,'lst':2,'markdown':10,'sqlite-shm':2,'vsixmanifest':4,'ttf':109,'pkl':35,'gitignore':8,'xml':46"]) 

Irgend jemand mich korrigieren dictionary statt set Vielen Dank im Voraus zu bekommen.

+2

nur tun 'd = dict (lst)' und du bist fertig. –

Antwort

0

Derzeit erstellen Sie einen Satz, kein Wörterbuch. Versuchen Sie folgendes:

lst=[('ldb', 25), ('baseB', 4), ('code', 112), ('cache-6', 55), ('Xauthority', 1), ('baseA', 4), ('npmrc', 1), ('apmrc', 1), ('gz', 190), ('dbf', 1), ('lst', 2), ('markdown', 10), ('sqlite-shm', 2), ('vsixmanifest', 4), ('ttf', 109), ('pkl', 35), ('gitignore', 8), ('xml', 46)] 

new_data = {a:b for a, b in lst} 

Oder, noch besser:

new_data = dict(lst) 
0

es versuchen:

lst = [('ldb', 25), ('baseB', 4), ('code', 112), ('cache-6', 55), ('Xauthority', 1), ('baseA', 4), ('npmrc', 1), 
    ('apmrc', 1), ('gz', 190), ('dbf', 1), ('lst', 2), ('markdown', 10), ('sqlite-shm', 2), ('vsixmanifest', 4), 
    ('ttf', 109), ('pkl', 35), ('gitignore', 8), ('xml', 46)] 

d = dict() 
for i in lst: 
    d[i[0]] = i[1] 
print(d) 
Verwandte Themen