4
我真的希望以前有人問過這個問題,但經過30分鐘的搜索之後,我一直沒有任何運氣。假設我們有多個列表,每個列表具有相同的長度,每個列表包含關於某事的不同類型的數據。我們想把它變成一個以數據類型爲關鍵字的字典列表。創建來自單獨列表的字典列表
輸入:
data = [['tom', 'jim', 'mark'], ['Toronto', 'New York', 'Paris'], [1990,2000,2000]]
data_types = ['name', 'place', 'year']
輸出:
travels = [{'name':'tom', 'place': 'Toronto', 'year':1990},
{'name':'jim', 'place': 'New York', 'year':2000},
{'name':'mark', 'place': 'Paris', 'year':2001}]
這是很容易與基於索引的迭代做:
travels = []
for d_index in range(len(data[0])):
travel = {}
for dt_index in range(len(data_types)):
travel[data_types[dt_index]] = data[dt_index][d_index]
travels.append(travel)
但是,這是2017年!必須有一個更簡潔的方法來做到這一點!我們有地圖,平面圖,縮小,列表解析,numpy,lodash,zip。除了我似乎無法將這些乾淨地組合到這個特定的轉換中。有任何想法嗎?
整潔!換位對我來說是一個新的!感謝:D – Adverbly