Python之怎么把长度一样的列表合成字典
要将长度相同的列表合成字典,您需要使用Python中的zip()函数和字典推导式。
例如,如果您有两个列表,一个是键列表,另一个是值列表,您可以这样合成它们:
keys = ['a', 'b', 'c']
values = [1, 2, 3]
dictionary = {key: value for key, value in zip(keys, values)}
print(dictionary) # 输出:{'a': 1, 'b': 2, 'c': 3}
在这个例子中,zip(keys, values)函数将两个列表中的对应元素打包成元组,然后通过字典推导式将它们转换成字典。
如果您的键列表和值列表的长度不同,zip()函数将只返回长度等于最短列表的元组。如果您想要将长度不同的列表合并为字典,您可以使用itertools.zip_longest()函数,该函数会填充缺失值。例如:
keys = ['a', 'b', 'c']
values = [1, 2]
dictionary = {key: value for key, value in itertools.zip_longest(keys, values)}
print(dictionary) # 输出:{'a': 1, 'b': 2, 'c': None}
在这个例子中,zip_longest(keys, values)函数将两个列表中的对应元素打包成元组,然后通过字典推导式将它们转换成字典。由于值列表比键列表短,因此缺失的值将被填充为None。