一、dict[key]
dict[key]
是直接通過(guò)鍵來(lái)訪(fǎng)問(wèn)字典中的值的方式。如果鍵存在于字典中,它將返回對(duì)應(yīng)的值;如果鍵不存在,它將引發(fā)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”對(duì)應(yīng)的值85,而student_scores["John"]
引發(fā)了KeyError異常,因?yàn)殒I”John”不存在于字典中。
二、dict.get(key)
dict.get(key)
是通過(guò)鍵來(lái)獲取字典中的值的另一種方式。如果鍵存在于字典中,它將返回對(duì)應(yīng)的值;如果鍵不存在,它將返回一個(gè)默認(rèn)值(默認(rèn)為None),而不會(huì)引發(fā)異常。
示例:
student_scores = {"Alice": 85, "Bob": 92, "Charlie": 78}# 獲取鍵為"Alice"的值alice_score = student_scores.get("Alice") # 返回 85# 嘗試獲取不存在的鍵,返回默認(rèn)值Nonejohn_score = student_scores.get("John") # 返回 None# 設(shè)置自定義的默認(rèn)值john_score = student_scores.get("John", 0) # 返回 0
在上面的示例中,student_scores.get("Alice")
返回了鍵”Alice”對(duì)應(yīng)的值85,而student_scores.get("John")
返回了默認(rèn)值None,因?yàn)殒I”John”不存在于字典中。我們還可以使用get()
方法來(lái)指定自定義的默認(rèn)值,如student_scores.get("John", 0)
返回了自定義的默認(rèn)值0。
三、區(qū)別
使用dict[key]
方式獲取字典中的值時(shí),如果鍵不存在,會(huì)引發(fā)KeyError異常,因此在使用前需要確保鍵存在。使用dict.get(key)
方式獲取字典中的值時(shí),如果鍵不存在,會(huì)返回一個(gè)默認(rèn)值,不會(huì)引發(fā)異常,因此更加安全。通常情況下,如果我們知道鍵在字典中一定存在,可以使用dict[key]
來(lái)直接獲取值。但如果鍵的存在不確定,或者希望在鍵不存在時(shí)返回一個(gè)默認(rèn)值,那么較好使用dict.get(key)
。
延伸閱讀
字典的其他方法
除了dict[key]
和dict.get(key)
,Python字典還提供了許多其他有用的方法,如dict.keys()
用于獲取所有鍵,dict.values()
用于獲取所有值,dict.items()
用于獲取所有鍵值對(duì)等。熟練掌握這些方法可以更靈活地操作字典數(shù)據(jù)。