如何将现有列表添加到字典中?
具体地说,如果我有:
lst = [["Hi"],["Monty"],["Python"],["snake"],["Anaconda"]]
我一直想得到:
d = {0: "Hi", 1: "Monty", 2: "Python", 3: "snake", 4: "Anaconda"}
我该怎么做?
答案 0 :(得分:7)
dict(enumerate(lst))
是你的朋友!
在您的情况下:
dict(enumerate(itertools.chain.from_iterable((lst))))
答案 1 :(得分:1)
最简单的方法是使用dictionary comprehension。您可以使用enumerate函数获取子列表的索引。
lst = [["Hi"],["Monty"],["Python"],["snake"],["Anaconda"]]
d = {i: sublist[0] for i, sublist in enumerate(lst)}
您还可以使用for循环添加每个列表项。
d = {}
for i, sublist in enumerate(lst):
d[i] = sublist[0]
答案 2 :(得分:0)
您可以使用enumerate
:
newdict = {}
for i, j in enumerate(lst):
newdict[j] = i[0]
print(newdict)
答案 3 :(得分:0)
您有一个列表列表,其中每个内部列表都包含一个字符串。要将其变成仅包含字符串的字典,您将需要显式遍历每个项目。您可以通过字典理解来做到这一点。
d = {i: val[0] for i, val in enumerate(lst)}
或
d = {(i, val[0]) for i, val in enumerate(lst)}
在这里,我们使用val [0]遍历每个索引,内部列表对,将字符串从内部列表中移出。