首页 > 解决方案 > 如何根据值的相似性将字典拆分为两个单独的字典

问题描述

我有一个dict

dictionary =  {'1': 'a',
     '2': 'a',
     '3': 'b',
     '4': 'b'}

我想拆分它,一个dict包含所有项目,另一个包含所有value == 'a'项目value == 'b'

dict_a = {'1': 'a',
     '2': 'a'}

dict_b = {'3': 'b',
     '4': 'b'}

我怎样才能在短时间内做到这一点?我的方法

dict_a = {}
dict_b = {}
for key, value in dictionary.items():
     if value == 'a':
         dict_a = dict(key, value)
     else:
         dict_b = dict(key, value)

不起作用。

标签: pythondictionary

解决方案


试试这个:

dict_a={}
dict_b={}
for key, value in dictionary.items():
    if value == 'a':
        dict_a[key] = value
    else:
        dict_b[key] = value

在您的原始代码中,您正在重新创建dict_adict_b每次通过循环。

如果您不确定您的起始 dict 是否包含 ONLY"a""b"值,请改用它:

dict_a={}
dict_b={}
for key, value in dictionary.items():
    if value == 'a':
        dict_a[key] = value
    elif value == 'b':
        dict_b[key] = value
    else:
        pass

推荐阅读