python - 以现有的键为条件循环遍历字典列表
问题描述
我正在遍历 Python 中的字典列表,但其中一些字典不包含大多数字典的键。对于这种情况,我希望循环执行不同的操作(比如打印'未找到密钥')。
dict_list = [{'a' : 1, 'b' : 2}, {'a': 4}]
dict_list
for i in dict_list:
print(i['b'])
这给了我KeyError: 'b'
. 如何引入以现有密钥为条件的操作?
解决方案
一种选择是捕获异常:
for i in dict_list:
try:
print(i['b'])
except KeyError:
print("key not found")
另一种是在使用之前检查密钥:
for i in dict_list:
if 'b' in i:
print(i['b'])
else:
print("key not found")
还有一个是使用.get
默认值:
for i in dict_list:
print(i.get('b', "key not found"))
推荐阅读
- google-home - 有没有办法创建一个“Action on Google”来回答“Google play X radio”并实际播放流?
- c# - 实例化一个空的 SearchResultCollection
- node.js - 尽管配置,Cypress.io 不采用 index.js
- amazon-web-services - 步骤功能:等待 - 它可以持续多长时间?
- qt - 中继器更新时保持对 QML TextInput 的关注
- powershell - 仅处理文件夹权限不等于的邮箱
- javascript - 从 Firefox 中的成功打印(不取消)返回时,如何重定向到特定的 url?
- python-applymap - 从段落中获取单词的最大长度
- vba - 如何将文本框中的日期插入 Microsoft Access 的查询中?
- java - JTextArea 上的自动文本格式设置