如何在Python中使用两个列表创建字典?

24 浏览
0 Comments

如何在Python中使用两个列表创建字典?

这个问题在此已有答案

如何从键和值的分离列表创建字典(dict)?

x = ['1', '2', '3', '4']
y = [[1,0],[2,0],[3,0],[4,]]

我想创建一个字典,使得x和y值对应如下:

1: [1,0], 2: [2,0]

等等。

admin 更改状态以发布 2023年5月24日
0
0 Comments

在Python > 2.7中,你可以使用字典推导式:

>>> x = ['1', '2', '3', '4']
>>> y = [[1,0],[2,0],[3,0],[4,]]
>>> mydict = {key:value for key, value in zip(x,y)}
>>> mydict
{'1': [1, 0], '3': [3, 0], '2': [2, 0], '4': [4]}
>>> 

仍然已经给出了最佳答案

dict(zip(x, y))

在Python <= 2.7中,如果你使用的是大型列表,你可以使用itertools.izip,因为izip返回一个迭代器。对于像你这样的小列表,使用izip会过度。然而,请注意itertools.izip在Python 3中已经被删除了。在Python 3中,zip内置函数已经返回一个迭代器,因此不再需要izip了。

0
0 Comments

你可以使用zip函数:
dict(zip(x, y))

>>> x = ['1', '2', '3', '4']
... y = [[1,0],[2,0],[3,0],[4,]]
>>> dict(zip(x, y))
0: {'1': [1, 0], '2': [2, 0], '3': [3, 0], '4': [4]}

0