📜  组合字典列表 - Python (1)

📅  最后修改于: 2023-12-03 14:56:50.784000             🧑  作者: Mango

组合字典列表 - Python

在 Python 中,我们经常需要将多个字典合并/组合成一个字典列表。这在数据分析和处理中非常常见,本文将为大家介绍几种 Python 中组合字典列表的方法。

方法一:使用 for 循环

我们可以使用 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 函数

如果我们有多个包含相同键名的字典,我们也可以使用 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 中组合字典列表的方法,大家可以根据实际需求选择合适的方法。