在 Python 中将表格列表转换为字典
在编程中经常会遇到数据以表格格式组织的场景,例如列表,其中偶数索引表示键,奇数索引表示相应的值。任务是将这个列表转换为字典。
解决方案:
实现此转换的最干净、最有效的方法是利用 Python 的内置函数:
b = dict(zip(a[::2], a[1::2]))
此代码有效地迭代列表 a,使用扩展切片运算符 [::2] 对其进行切片,其中跳过所有其他元素。结果是两个列表:a[::2] 包含键,a[1::2] 包含值。然后使用 dict() 函数使用这些列表构建字典。
对于大型列表,建议使用替代方法来避免创建临时列表:
from itertools import izip i = iter(a) b = dict(izip(i, i))
此方法使用iter() 函数为列表 a 创建迭代器。 izip() 函数(或 Python 3 中的 zip())交错每个迭代器中的元素,创建一个生成键和值元组的新迭代器。然后将这些元组传递给 dict() 来构造字典。
在 Python 3 中,另一种语法上方便的方法是:
b = {a[i]: a[i+1] for i in range(0, len(a), 2)}
此代码使用迭代列表的字典理解以两步为单位进行索引,将键和值组装到一个新字典中。
在 Python 3.8 及更高版本中, “walrus”运算符 (:=) 提供了一种将其写在一行上的简洁方法:
b = dict(zip(i := iter(a), i))
以上是如何在Python中高效地将表格列表转换为字典?的详细内容。更多信息请关注PHP中文网其他相关文章!