[英]nested listed to dictionary python
我有一個看起來像這樣的嵌套列表:
[[0, 100, 47, 105, 120, 4, 46, 115, 103, 131, 14, 74, 8, 122, 91, 0],
[0, 36, 112, 123, 25, 117, 55, 26, 17, 113, 121, 118, 107, 114, 104, 64, 0]]
我想把它轉換成一個像這樣的字典:
{1:[0, 100, 47, 105, 120, 4, 46, 115, 103, 131, 14, 74, 8, 122, 91, 0],
2:[0, 36, 112, 123, 25, 117, 55, 26, 17, 113, 121, 118, 107, 114, 104, 64, 0]}
我試圖在列表理解中做到這一點,但我似乎找不到正確的答案。 這行不通,因為我想開始 1 而不是 0。
您可以使用dict comprehension
而不是列表理解,使用range(len(a)
:
output = {i+1:a[i] for i in range(len(a))}
Output:
{1: [0, 100, 47, 105, 120, 4, 46, 115, 103, 131, 14, 74, 8, 122, 91, 0],
2: [0,36,112,123,25,117,55,26,17,113,121,118,107,114,104,64,0]}
lst = [
[0, 100, 47, 105, 120, 4, 46, 115, 103, 131, 14, 74, 8, 122, 91, 0],
[0, 36, 112, 123, 25, 117, 55, 26, 17, 113, 121, 118, 107, 114, 104, 64, 0],
]
result = {index: sub_list for index, sub_list in enumerate(lst, start=1)}
print(result)
Output:
{
1: [0, 100, 47, 105, 120, 4, 46, 115, 103, 131, 14, 74, 8, 122, 91, 0],
2: [0, 36, 112, 123, 25, 117, 55, 26, 17, 113, 121, 118, 107, 114, 104, 64, 0],
}
from itertools import count
lists = ...
print(dict(zip(count(1), lists)))
以下是我的做法:
lis=[[0, 100, 47, 105, 120, 4, 46, 115, 103, 131, 14, 74, 8, 122, 91, 0],
[0, 36, 112, 123, 25, 117, 55, 26, 17, 113, 121, 118, 107, 114, 104, 64, 0]]
dicti={}
for i in range(1,len(lis)+1):
dicti[i]=lis[i-1]
print(dicti)
我創建了一個空的**dictionary**
。 然后,我遍歷了該list
並將分配整數的dictionary
的values
附加到keys
。
注意我是如何使用range(1, len(lis)+1)
的,所以i
的第一個值為1
。
然后我們可以使用for loop
將key:value
對添加到dictionary
中。
這給出了所需的 output:
{1: [0, 100, 47, 105, 120, 4, 46, 115, 103, 131, 14, 74, 8, 122, 91, 0], 2: [0, 36, 112, 123, 25, 117, 55, 26, 17, 113, 121, 118, 107, 114, 104, 64, 0]}
希望這有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.