python - 根据 dict.values() 删除字典元素
问题描述
如果字符串 'email' 不在 dict 值中,我想删除相应的元素,所以我做了以下操作:
[ my_dict.pop(k) for k , val in my_dict.items() if 'email' not in val ]
那么有更好的解决方案吗?
像上面那样编写一长串代码还是执行以下操作更好:
for k , val in my_dict.items():
if 'email' not in val:
my_dict.pop(k)
解决方案
如果您不打算使用列表,请不要使用列表推导!同样,dict.pop
如果您不打算使用弹出的值,请不要使用。覆盖内置名称(如dict
. 更多的pythonic是:
for key, val in my_dict.items():
if 'email' not in val:
del my_dict[key]
推荐阅读
- sql-server - 存储过程在插入新行时返回 NULL 输出值
- javascript - 基本视差效果违背物理学
- google-apps-script - 如何使用 google sheet api v 4 将 blob(图像)上传到 google sheet
- google-apps-script - Google App Script 使用菜单项选择中的颜色选择器更改背景颜色
- python - 如何修复我的代码以使列表索引不超出范围?
- javascript - 通过按钮单击将输入值传递给脚本中的php函数
- angular - DateTimeContinuousAxis 的问题,在没有明显原因的情况下向每个日期添加一天 [Nativescript-Angular]
- ios - 在 iOS 13 UI 测试中访问 UIActivityViewController 上的按钮会导致崩溃
- python - 尝试制作一个用“?”替换辅音词的 Python 程序 基于用户输入
- react-native - 无法更改配置“:@mauron85_react-native-background-geolocation:default”的工件在包含在依赖项解析中后