有没有更好的方法来合并两个集合字典?

mar*_*lon 2 python dictionary defaultdict

我正在使用此代码将一个字典合并到另一个字典中 - 如果存在键,它应该合并两个字典中的值:

source_dict = defaultdict(set)
target_dict = defaultdict(set)

def merge_dict(source_dict, target_dict):
    for source_key in source_dict:
        if source_key in target_dict:
            target_dict[source_key].update(source_dict[source_key])
        else:
            target_dict[source_key] = source_dict[source_key]
Run Code Online (Sandbox Code Playgroud)

有没有办法优化merge_dict上面的功能?例如,使其更简洁或更高效?

Tom*_*koo 6

您正在使用defaultdicts。所以你不需要if/else...只需执行以下操作:

def merge_dict(source_dict, target_dict):
    for source_key, source_value in source_dict.items():
        target_dict[source_key].update(source_value)
Run Code Online (Sandbox Code Playgroud)

如果source_key不在 中target_dict,则将创建一个空集并立即updated。这正是 s 的用例defaultdict...