将键列表和值列表转换为字典

Aei*_*Aei 6 python dictionary

我有这些清单:

list1 = ["a","b","c"]
list2 = ["1","2","3"]
Run Code Online (Sandbox Code Playgroud)

我需要将它们添加到字典中,其中list1是键,list2是值.

我写了这段代码:

d = {}
for i in list1:
    for j in list2:
        d[i] = j
print d
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

{'a':'3','b':'3','c':'3'}
Run Code Online (Sandbox Code Playgroud)

这段代码出了什么问题?如何编写它以便输出

{'a':'1','b':'2','c':'3'}
Run Code Online (Sandbox Code Playgroud)

谢谢!

Vin*_*ard 14

压缩列表并使用字典理解:

{i: j for i, j in zip(a, b)}
Run Code Online (Sandbox Code Playgroud)

或者,更简单,只需使用dict():

dict(zip(a, b))
Run Code Online (Sandbox Code Playgroud)

你应该保持简单,所以最后的解决方案是最好的,但我保留了dict理解的例子来说明它是如何完成的.


ava*_*sal 4

你已经快到了,只是你需要同时迭代列表

In [1]: list1 = ["a","b","c"]

In [2]: list2 = ["1","2","3"]

In [3]: d = {}

In [4]: for i, j in zip(list1, list2):
   ...:     d[i] = j
   ...:

In [5]: print d
{'a': '1', 'c': '3', 'b': '2'}
Run Code Online (Sandbox Code Playgroud)