2015-03-27 26 views
5

Quando ho avuto una lista che era in formatoConversione List per Dict

list1 = [[James,24],[Ryan,21],[Tim,32]...etc] 

ho potuto utilizzare

dic1 =dict(list1) 

Comunque ora Diciamo che ho più valori quali

list1 = [[James,24,Canada,Blue,Tall],[Ryan,21,U.S.,Green,Short 
[Tim,32,Mexico,Yellow,Average]...etc] 

Non ho idea di come fare per creare un dict in modo che mostri il nome come chiave e i seguenti valori come valore.

Grazie in anticipo

risposta

16

È possibile utilizzare un dict comprehension e affettare:

>>> list1 = [['James','24','Canada','Blue','Tall'],['Ryan','21','U.S.','Green','Short']] 
>>> {i[0]:i[1:] for i in list1} 
{'James': ['24', 'Canada', 'Blue', 'Tall'], 'Ryan': ['21', 'U.S.', 'Green', 'Short']} 

in Python 3 è possibile utilizzare un modo più elegante con il funzionamento disimballaggio:

>>> {i:j for i,*j in list1} 
{'James': ['24', 'Canada', 'Blue', 'Tall'], 'Ryan': ['21', 'U.S.', 'Green', 'Short']} 
2

Loop attraverso il voci del tuo elenco e aggiungile al dizionario:

for entry in list: 
    dict[entry[0]]=entry[1:] 
Problemi correlati