我正在尝试将从数据帧创建的列表转换为python中的字典。我对python的这个领域还很陌生,所以如果做错了什么,请指出。
假设我有一个列表:
a = [['Robert'], ['Tommy'], ['Joe'], ['Will']]
该键应为“名称”,其值应为列表中的字符串。
我尝试过:
dct = {'Name': a[i] for i in range(len(a))}
我最终会得到:
{'Name': ['Will']}
不知道这是否必要,但我只得到列表中的最后一个值。请任何人指出这里出了什么问题。
答案 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