千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > dict[key] 和 dict.get(key) 的区别是什么?

dict[key] 和 dict.get(key) 的区别是什么?

来源:千锋教育
发布人:xqq
时间: 2023-10-15 09:14:44 1697332484

一、dict[key]

dict[key]是直接通过键来访问字典中的值的方式。如果键存在于字典中,它将返回对应的值;如果键不存在,它将引发KeyError异常。

示例:

student_scores = {"Alice": 85, "Bob": 92, "Charlie": 78}# 获取键为"Alice"的值alice_score = student_scores["Alice"]  # 返回 85# 尝试获取不存在的键try:    john_score = student_scores["John"]except KeyError:    print("Key 'John' does not exist.")

在上面的示例中,student_scores["Alice"]返回了键”Alice”对应的值85,而student_scores["John"]引发了KeyError异常,因为键”John”不存在于字典中。

二、dict.get(key)

dict.get(key)是通过键来获取字典中的值的另一种方式。如果键存在于字典中,它将返回对应的值;如果键不存在,它将返回一个默认值(默认为None),而不会引发异常。

示例:

student_scores = {"Alice": 85, "Bob": 92, "Charlie": 78}# 获取键为"Alice"的值alice_score = student_scores.get("Alice")  # 返回 85# 尝试获取不存在的键,返回默认值Nonejohn_score = student_scores.get("John")  # 返回 None# 设置自定义的默认值john_score = student_scores.get("John", 0)  # 返回 0

在上面的示例中,student_scores.get("Alice")返回了键”Alice”对应的值85,而student_scores.get("John")返回了默认值None,因为键”John”不存在于字典中。我们还可以使用get()方法来指定自定义的默认值,如student_scores.get("John", 0)返回了自定义的默认值0。

三、区别

使用dict[key]方式获取字典中的值时,如果键不存在,会引发KeyError异常,因此在使用前需要确保键存在。使用dict.get(key)方式获取字典中的值时,如果键不存在,会返回一个默认值,不会引发异常,因此更加安全。

通常情况下,如果我们知道键在字典中一定存在,可以使用dict[key]来直接获取值。但如果键的存在不确定,或者希望在键不存在时返回一个默认值,那么较好使用dict.get(key)

延伸阅读

字典的其他方法

除了dict[key]dict.get(key),Python字典还提供了许多其他有用的方法,如dict.keys()用于获取所有键,dict.values()用于获取所有值,dict.items()用于获取所有键值对等。熟练掌握这些方法可以更灵活地操作字典数据。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT