从列表中取两个元素

kri*_*taa 2 python dictionary list

我有以下列表:

['a', '2', 'b', '1', 'c', '4']
['d', '5', 'e', '7', 'f', '4', 'g', '6']
Run Code Online (Sandbox Code Playgroud)

而且我想制作一个由字母和数字组成的字典组成的字典.我的意思是:

{'a': 2, 'b': 1, 'c': 4, 'd':5, 'e':7, 'f':4, 'g':6}
Run Code Online (Sandbox Code Playgroud)

Jun*_*sor 5

你可以试试:

>>> l = ['a', '2', 'b', '1', 'c', '4']
>>> it = iter(l)
>>> dict(zip(it, it))
{'a': '2', 'c': '4', 'b': '1'}
Run Code Online (Sandbox Code Playgroud)

首先,从列表中创建一个迭代器.然后使用迭代器的zip本身,您可以从列表中获取一对值.最后,dict将这些元组转换为您想要的字典.

如果您还想进行字符串到数字转换,请使用:

{x: int(y) for x, y in zip(it, it)}
Run Code Online (Sandbox Code Playgroud)

编辑

如果你不想使用zip那么:

{x: int(next(it)) for x in it}
Run Code Online (Sandbox Code Playgroud)