转载:python字典访问不存在的key

https://www.cnblogs.com/python1111/p/17874945.html

当你使用一个不存在的键(key)去访问一个Python字典(dict)时,会触发一个KeyError异常。这是Python提供的一种机制,用于指示你正在尝试访问一个字典中不存在的键。

以下是一个简单的示例,演示了当使用一个不存在的键去访问字典时会发生的情况:

my_dict = {"apple": 3, "banana": 6, "orange": 2}

print(my_dict["apple"])  # 输出:3
print(my_dict["grape"])  # 引发 KeyError 异常

 在上面的代码中,my_dict是一个包含一些水果及其数量的字典。第一个打印语句使用一个存在的键"apple"去访问字典中的值,因此会正常输出3。然而,第二个打印语句使用一个不存在的键"grape",这将引发一个KeyError异常。

为了避免出现KeyError异常,你可以使用get()方法来访问字典中的值。get()方法接受一个键作为参数,并返回对应的值。如果键不存在于字典中,get()方法会返回一个默认值(默认为None,或者你可以指定自己的默认值)而不是引发异常。以下是使用get()方法的示例:

my_dict = {"apple": 3, "banana": 6, "orange": 2}

print(my_dict.get("apple"))  # 输出:3
print(my_dict.get("grape"))  # 输出:None
print(my_dict.get("grape", 0))  # 输出:0

 上述代码中的第一个和第二个print语句与之前相同,但是使用了get()方法。第三个print语句使用了get()方法,并提供了一个默认值0。因为"grape"键不存在于字典中,所以get()方法返回了默认值0,而不是引发异常。

Python判断dict中key是否存在的3种方法实例

第一种方法:使用has_key()方法

不过这个方法在新版的Python中貌似已经被移除了,那么大家也可以使用第二种方法。

# 生成一个字典
dict = {'name': 'tom', 'age': 18, 'sex': 'male'>
#打印返回值
print(dict.has_key('name')) # 结果返回True 
print(dict.has_key('id'))   # 结果返回False

 第二种方法:使用keys()方法

# 生成一个字典 
dict = {'name': 'tom', 'age': 18, 'sex': 'male'> # 判断是否存在,其中diet.keys。是列出字典所有的key print('name' in diet.keys()) # 结果返回True print('id' in diet.keys()) # 结果返回False

 除了使用in也可以使用not in,用于判定这个key不存在

第三种方法:优雅的使用 in 关键字(Python3支持)

# 生成一个字典 
dict = {'name': 'tom', 'age': 18, 'sex': 'male'> # 判断key是否存在于dict中 print('name' in dict) # 结果返回True print ('id' in dict) # 结果返回 False

 这也是我个人比较推荐的一种用法

posted @ 2024-02-05 14:13  培轩  阅读(5)  评论(0编辑  收藏  举报