将平面列表转换为字典
在 Python 中,将键值对列表转换为字典可以通过以下几种方式实现方式。最简单的方法是使用 dict() 函数。例如,给定列表 a = ['hello', 'world', '1', '2'],我们可以使用以下语法创建字典 b:
b = dict(zip(a[::2], a[1::2]))
这行代码使用 zip() 函数创建元组列表,其中每个元组包含一个键及其对应的值。然后 dict() 函数将此元组列表转换为字典。
将列表转换为字典的另一种方法是使用字典理解。这种方法更简洁,更容易阅读,特别是对于较大的列表:
b = {a[i]: a[i+1] for i in range(0, len(a), 2)}
此理解成对迭代列表 a 并将第一个元素分配给键,将第二个元素分配给值。
如果列表非常大,您可能希望避免创建中间列表。在这种情况下,您可以使用 itertools.izip() 函数延迟迭代列表,而无需创建临时列表。这种方法的语法是:
from itertools import izip i = iter(a) b = dict(izip(i, i))
在Python 3中,zip()函数已经是惰性的,所以你不需要使用izip()。您还可以使用“海象”运算符 (:=) 将其写在一行上:
b = dict(zip(i := iter(a), i))
以上是如何在 Python 中有效地将键值对的平面列表转换为字典?的详细内容。更多信息请关注PHP中文网其他相关文章!