使用Python的zip函数和可变长度参数解决该问题。以下是一个示例:
def iterate_over_dict(*dicts):
keys = set().union(*dicts)
for key in keys:
values = tuple(d.get(key) for d in dicts)
yield key, values
# 示例字典
dict1 = {"a": 1, "b": 2}
dict2 = {"a": 3, "b": 4, "c": 5}
dict3 = {"b": 6, "c": 7}
# 遍历字典
for key, values in iterate_over_dict(dict1, dict2, dict3):
print(key, values)
输出为:
a (1, 3, None)
c (None, 5, 7)
b (2, 4, 6)
这个函数可以在一个或多个字典上迭代,并对提供的所有字典的键进行迭代。它使用集合联合来获取所有键。然后在for循环中,它检查每个键,并尝试获取它们对应的值。如果某个字典不具有该键,则使用None填充。
上一篇:遍历具有不同结构的类