首页 > 解决方案 > 以现有的键为条件循环遍历字典列表

问题描述

我正在遍历 Python 中的字典列表,但其中一些字典不包含大多数字典的键。对于这种情况,我希望循环执行不同的操作(比如打印'未找到密钥')。

dict_list = [{'a' : 1, 'b' : 2}, {'a': 4}]
dict_list

for i in dict_list:
    print(i['b'])

这给了我KeyError: 'b'. 如何引入以现有密钥为条件的操作?

标签: pythonloops

解决方案


一种选择是捕获异常:

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"))

推荐阅读