将列表转换为字典,使用列表中的键和值

时间:2013-09-18 16:15:52

标签: python list dictionary

很抱歉,如果重复的问题,编程新手找不到合适的答案。我想将列表转换为字典。 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} 

同样的问题 - 错误'列表'不可用

好的抱歉。得到它了。问题是密钥本身就是列表。我在看阵列并错过了元素

1 个答案:

答案 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}
>>>