python - 如何根据值的相似性将字典拆分为两个单独的字典
问题描述
我有一个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)
不起作用。
解决方案
试试这个:
dict_a={}
dict_b={}
for key, value in dictionary.items():
if value == 'a':
dict_a[key] = value
else:
dict_b[key] = value
在您的原始代码中,您正在重新创建dict_a
或dict_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
推荐阅读
- c# - FormCollection 未传递给控制器
- postgresql - 函数或过程名称的别名
- java - 本地主机:prathviraj18@localhost:权限被拒绝(公钥,密码)
- windows - 如何使我的 Windows C++/OpenSSL 应用程序具有代理感知能力?
- mysql - 无法在 MySQL/Percona 5.7 VM 中完成大文件的 LOAD DATA INFILE
- mysql - MySQL“无法创建测试文件”,“无法设置数据目录或目录”,无法使用初始密码连接
- php - 清理多行 Word 插入的中断
- r - 来自 autoxgboost 模型的特征重要性
- gulp - Gulp 缩小和移动具有相同文件夹结构的文件
- java - 使用 Java.exec() 执行 mv 命令;