如何根据值的相似性将Python字典拆分为两个独立的字典
问题原因
你原有代码无法正常运行的核心问题有两个:
dict(key, value)是非法的字典构造写法,dict类没有接收两个独立位置参数的构造规则,执行时会直接抛出类型错误- 就算构造写法正确,你每次循环都直接给
dict_a/dict_b重新赋值,也会覆盖之前已经存入的键值对,最终只能保留最后一个符合条件的项
实现方案
方案1:修正循环写法(易扩展,适合值类型较多的场景)
dict_a = {} dict_b = {} for key, value in dictionary.items(): if value == 'a': dict_a[key] = value else: dict_b[key] = value
方案2:字典推导式写法(代码更简洁)
直接通过Python的字典推导式快速过滤生成目标字典:
dict_a = {k: v for k, v in dictionary.items() if v == 'a'} dict_b = {k: v for k, v in dictionary.items() if v == 'b'}
内容的提问来源于stack exchange,提问作者lonyen11
相关产品推荐
相关产品推荐

