使用for循环将列表转换成字典

时间:2019-07-03 20:45:24

标签: python-3.x dictionary

我正在尝试将从数据帧创建的列表转换为python中的字典。我对python的这个领域还很陌生,所以如果做错了什么,请指出。

假设我有一个列表: a = [['Robert'], ['Tommy'], ['Joe'], ['Will']]

该键应为“名称”,其值应为列表中的字符串。

我尝试过: dct = {'Name': a[i] for i in range(len(a))}

我最终会得到: {'Name': ['Will']} 不知道这是否必要,但我只得到列表中的最后一个值。请任何人指出这里出了什么问题。

2 个答案:

答案 0 :(得分:1)

之所以会发生这种情况,是因为它反复向该字典中的键'Name'分配一个新值。您编写的字典理解与以下内容相同:

dct = {}
for i in range(len(a)):
    dct['Name'] = a[i]

所以这就是为什么之后您最终得到一本字典的原因,该字典中有一个带有最后一个值的键。

答案 1 :(得分:0)

如果这行得通!


dct = {}
for i in range(len(a)):
    dct['Name'] = a
print dct