我有三個列表,第一個是名單列表,第二個是詞典列表,第三個是數據列表。列表中的每個位置與其他列表中的相同位置相對應。 List_1 [0]在List_2 [0]和List_3 [0]等中有相應的數據。我想將這三個列表變成字典中的字典,List_1中的值是主鍵。如何在保持一切順利的同時做到這一點?連接詞典
Q
連接詞典
6
A
回答
13
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [7,8,9]
>>> dict(zip(a, zip(b, c)))
{1: (4, 7), 2: (5, 8), 3: (6, 9)}
對zip
更多信息,請參見documentation。
正如下面的lionbest所指出的,如果您的輸入數據很大,您可能需要查看itertools.izip()
。 izip
與zip
的功能基本相同,但是它創建迭代器而不是列表。這樣,您在創建字典之前不會創建大型臨時列表。
1
的Python 3:
combined = {name:dict(data1=List_2[i], data2=List_3[i]) for i, name in enumerate(List_1)}
的Python 2.5:
combined = {}
for i, name in enumerate(List_1):
combined[name] = dict(data1=List_2[i], data2=List_3[i])
0
如果這些東西事項的順序,你不應該使用字典。根據定義,它們是無序的。你可以使用many ordered_dictionary implementations之一,或等待python 2.7或3.1,它將在集合模塊中包含一個有序的字典實現。
相關問題
- 1. 使用空值連接詞典
- 2. Clojure詞典詞典
- 3. Django模型 - 將詞組鏈接到詞典/詞典中的單個詞
- 4. Python:詞典中的詞典?
- 5. Marklogic值詞典和單詞詞典
- 6. 字典詞典
- 7. 經典ASP連接
- 8. 輕鬆構建一個詞典或詞典的詞典
- 9. 詞典
- 10. 詞典API(詞法)
- 11. 結合詞典的兩個詞典(Python)
- 12. 轉換詞典的詞典串
- 13. 在Python中更新詞典詞典
- 14. 不能在詞典中使用詞典
- 15. 連接謂詞無效(SQL0338)
- 16. DBpedia SPARQL和謂詞連接
- 17. C#接口和通用詞典
- 18. 詞頻與詞典理解
- 19. 詞典到Python的字典
- 20. 查詢字典詞典?
- 21. Python中的字典詞典!
- 22. 清除詞典的字典
- 23. python詞典的字典
- 24. 字典詞典雨燕
- 25. 合併字典的詞典
- 26. C#詞典中的字典
- 27. 使用詞典
- 28. flex詞典dataProvider?
- 29. 詞典和DotLiquid
- 30. VBA-excel詞典
如果a,b,c會很大,我推薦從itertools模塊中使用izip。 – Arpegius 2009-08-05 13:01:48