📅  最后修改于: 2023-12-03 14:56:50.784000             🧑  作者: Mango
在 Python 中,我们经常需要将多个字典合并/组合成一个字典列表。这在数据分析和处理中非常常见,本文将为大家介绍几种 Python 中组合字典列表的方法。
我们可以使用 for 循环来遍历多个字典,然后将其中的键值对添加到一个新的字典中。最后再将这些新字典添加到一个字典列表中。
dict1 = {'name': 'Alice', 'age': 22}
dict2 = {'name': 'Bob', 'age': 25}
dict3 = {'name': 'Charlie', 'age': 28}
dict_list = []
for d in [dict1, dict2, dict3]:
new_dict = {}
for k, v in d.items():
new_dict[k] = v
dict_list.append(new_dict)
print(dict_list)
输出:
[{'name': 'Alice', 'age': 22}, {'name': 'Bob', 'age': 25}, {'name': 'Charlie', 'age': 28}]
和 for 循环类似,我们也可以使用列表解析来达到相同的效果。
dict1 = {'name': 'Alice', 'age': 22}
dict2 = {'name': 'Bob', 'age': 25}
dict3 = {'name': 'Charlie', 'age': 28}
dict_list = [dict((k, v) for k, v in d.items()) for d in [dict1, dict2, dict3]]
print(dict_list)
输出:
[{'name': 'Alice', 'age': 22}, {'name': 'Bob', 'age': 25}, {'name': 'Charlie', 'age': 28}]
如果我们有多个包含相同键名的字典,我们也可以使用 zip 函数将它们组合成一个字典列表。
dict1 = {'name': 'Alice', 'age': 22}
dict2 = {'name': 'Bob', 'age': 25}
dict3 = {'name': 'Charlie', 'age': 28}
dict_list = [dict(zip(d.keys(), d.values())) for d in [dict1, dict2, dict3]]
print(dict_list)
输出:
[{'name': 'Alice', 'age': 22}, {'name': 'Bob', 'age': 25}, {'name': 'Charlie', 'age': 28}]
以上就是三种在 Python 中组合字典列表的方法,大家可以根据实际需求选择合适的方法。