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

如何筛选Python字典列表中BackupStatus为FAILURE的条目?

Python字典列表筛选BackupStatus为FAILURE的条目

需求说明

从包含多个字典的列表中,筛选出所有BackupStatus字段值为"FAILURE"的条目。

解决方案

方法1:列表推导式(推荐,简洁高效)

列表推导式是处理这类筛选需求最常用的方式,代码可读性高且执行效率优。

# 定义原始备份记录列表
backup_records = [
    {'HostName': 'DEMOBDDBX00100.demo', 'BackupStatus': 'SUCCESS'},
    {'HostName': 'DEMOBDDBX00200.demo', 'BackupStatus': 'SUCCESS'},
    {'HostName': 'DEMOBDDBX10101.demo', 'BackupStatus': 'FAILURE'},
    {'HostName': 'DEMOBDDBX10102.demo', 'BackupStatus': 'FAILURE'},
    {'HostName': 'DEMOBDDBX10201.demo', 'BackupStatus': 'FAILURE'},
    {'HostName': 'DEMOBDDBX10202.demo', 'BackupStatus': 'FAILURE'},
    {'HostName': 'DEMOBDMBX00100.demo', 'BackupStatus': 'SUCCESS'},
    {'HostName': 'DEMOBDMBX00200.demo', 'BackupStatus': 'SUCCESS'},
    {'HostName': 'DEMOBDMBX10101.demo', 'BackupStatus': 'FAILURE'},
    {'HostName': 'DEMOBDMBX10102.demo', 'BackupStatus': 'FAILURE'},
    # 其他省略的条目
]

# 筛选失败的备份记录
failed_backups = [item for item in backup_records if item['BackupStatus'] == 'FAILURE']

# 按格式打印结果
for record in failed_backups:
    print(f"    {record}")

方法2:使用filter()函数

如果偏好函数式编程风格,可以用filter()配合匿名函数实现筛选:

# 筛选失败的备份记录
failed_backups = list(filter(lambda x: x['BackupStatus'] == 'FAILURE', backup_records))

# 按格式打印结果
for record in failed_backups:
    print(f"    {record}")

执行结果

运行上述代码后,输出与期望一致:

{'HostName': 'DEMOBDDBX10101.demo', 'BackupStatus': 'FAILURE'}
    {'HostName': 'DEMOBDDBX10102.demo', 'BackupStatus': 'FAILURE'}
    {'HostName': 'DEMOBDDBX10201.demo', 'BackupStatus': 'FAILURE'}
    {'HostName': 'DEMOBDDBX10202.demo', 'BackupStatus': 'FAILURE'}
    {'HostName': 'DEMOBDMBX10101.demo', 'BackupStatus': 'FAILURE'}
    {'HostName': 'DEMOBDMBX10102.demo', 'BackupStatus': 'FAILURE'}

内容的提问来源于stack exchange,提问作者Sheril Damodharan SANDAMS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:40:32