在Python中将列表转换为字典
假设我a在Python中有一个列表,其条目方便地映射到字典。每个偶数元素代表字典的键,后面的奇数元素是值
例如,
a = ['hello','world','1','2']
我想将其转换为字典b,
b['hello'] = 'world'b['1'] = '2'
语法上最干净的方法是什么?
回答:
b = dict(zip(a[::2], a[1::2]))
如果a
很大,则可能需要执行以下操作,而不会像上面那样创建任何临时列表。
from itertools import izipi = iter(a)
b = dict(izip(i, i))
在Python 3中,您也可以使用dict
理解,但具有讽刺意味的是,我认为最简单的方法是使用range()and len()
,通常是代码味道。
b = {a[i]: a[i+1] for i in range(0, len(a), 2)}
因此iter()/izip()
,尽管EOL在注释中指出,该方法仍可能是Python 3中使用最多的Python语言,但在Python 3 zip()中已经很懒了,因此您不需要izip()
。
i = iter(a)b = dict(zip(i, i))
如果只想一行,就必须作弊并使用分号。
以上是 在Python中将列表转换为字典 的全部内容, 来源链接: utcz.com/qa/406658.html