You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除字典列表中Access Type键值为空的字典?

筛选字典列表:仅移除"Access Type"为空的条目

嗨,你已经找对了方向,只是之前的列表推导式范围太宽泛啦!

你之前用的[d for d in data if all(d.values())]会检查字典里所有值是否非空,这就会误删那些其他键(比如示例里的host/IP address)为空但Access Type是有效值的条目。

要精准只针对Access Type键筛选,直接在列表推导式里判断这个键的值是否不为空字符串就行:

filtered_data = [d for d in data if d['Access Type'] != '']

如果担心你的字典列表里可能存在某些字典没有Access Type这个键(避免抛出KeyError),可以用dict.get()方法做更安全的兼容处理:

filtered_data = [d for d in data if d.get('Access Type', '') != '']

用你的示例数据测试

把你的示例数据代入上面的代码,得到的结果会是:

[
    {'Date': 'Jul 26', 'Time': '07:04:12', 'PID': '28886', 'Message': 'authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=207.243.167.114 user=root', 'Access Type': 'Failed', 'host/IP address': '207.243.167.114'},
    {'Date': 'Jul 27', 'Time': '04:16:07', 'PID': '30999', 'Message': 'session opened for user cyrus by (uid=0)', 'Access Type': 'Success', 'host/IP address': ''}
]

可以看到,只有Access Type为空的第三个字典被移除了,其他条目都保留了——这正是你想要的效果!

内容的提问来源于stack exchange,提问作者Aaron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 15:42:44