很抱歉,如果重复的问题,编程新手找不到合适的答案。我想将列表转换为字典。 key为x [1],值为x [2]
为了清楚我有一个n * 3数组,需要将它转换为字典,第二列为键,第三列为值。
我试过了:
for entry in data:
keys=entry[1]
values=entry[2]
source = dict.fromkeys(keys, values)
得到错误'类型列表不可用'
通过问题4576115.但是,我需要遍历3000+ * 3数组的每个元素,其中大多数元素本身都是列表,然后将每个条目的第2个元素设置为键,将第3个元素设置为值。只是为了放大,也试过了
b = {data[i][1]: data[i][2] for i in range(0, len(data))}
并输入数据:
keys=entry[1]
values=entry[2]
b.update(keys,values)
和
keyList.append(keys)
valueList.append(values)
b = dict(zip(keyList,valueList))
和
b={entry[1]:entry[2] for entry in data}
同样的问题 - 错误'列表'不可用
好的抱歉。得到它了。问题是密钥本身就是列表。我在看阵列并错过了元素
答案 0 :(得分:7)
不太明白,但这不是你想要的吗?
>>> a = [[1,2,3],[2,3,4],[4,5,6]]
>>> b = {x[1]:x[2] for x in a}
>>> b
{2: 3, 3: 4, 5: 6}
>>>