2017-09-28 3 views
-2

ich eine Liste von Listen zu einer Liste von dicts zu konvertieren Ich versuche, die Liste wie ist,Python konvertieren, eine Liste zu einem dict

['A', '100000', Timestamp('2017-01-01 00:00:00'), '003'] 
['B', '100001', Timestamp('2017-02-01 00:00:00'), '004'] 

ich es auf eine Liste von dicts konvertieren wollen wie,

{'name': 'A', 'id': '100000', 'time': Timestamp('2017-01-01 00:00:00'), 'number': '003'} 
{'name': 'B', 'id': '100001', 'time': Timestamp('2017-02-01 00:00:00'), 'number': '004'} 

Ich frage mich, was ist der beste Weg, es zu tun.

+1

Was haben Sie versucht? Ein Listenverständnis scheint offensichtlich zu sein. –

+0

Was haben Sie versucht, mit denen Sie nicht zufrieden sind? –

Antwort

1

Mit dict Verständnis und zip():

a = ['A', '100000', Timestamp('2017-01-01 00:00:00'), '003'] 
b = ['B', '100001', Timestamp('2017-02-01 00:00:00'), '004'] 

all_lists = [a, b] 

keys = ['name', 'id', 'time', 'number'] 

d = {key: val for a_list in all_lists for key, val in zip(keys, a_list)} # using dict comprehension 
+4

'dict (zip (keys, a))' –

+1

Aber die Quelle ist eine Liste von Listen, und das Ziel sollte eine Liste von Diktaten sein. Es sollte also nur '[dict (zip (keys, vals)) für vals in list_of_lists] sein. –

+0

dies beantwortet nur einen Teil der Frage;) –

Verwandte Themen