我有一个flask-sqlalchemy 查询,它返回警报数据列表。
alert_data = Alerts.query.filter_by(alertRemediated = False).all()
我使用以下代码迭代结果以计算所有“严重”警报。
这段代码可以工作,但效率似乎很低。
c = 0
for alert in alert_data:
if alert.alertSeverity == 'Critical':
c +=1
total_crit_alerts = c
我尝试了以下列表理解来使代码更加精简,但我无法让它工作。
total_crit_alerts = sum(1 for i in alert_data.alertSevertiy if i == 'Critical')
返回的错误是:AttributeError: 'list' object has no attribute 'alertSevertiy'
如有任何建议,我们将不胜感激。
最佳答案
您需要遍历alert_data列表。 您还输入了alertSeverity
你可以尝试:
total_crit_alerts = sum(1 for i in alert_data if i.alertSeverity == 'Critical')
关于python - 将 Python Flask-sqlalchemy 查询结果作为列表理解进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75249797/