python字典獲取_查

紫夜灵狐發表於2024-10-02

在Python中,字典(dict)是一種用於儲存鍵值對(key-value pairs)的內建資料結構。字典的鍵(key)必須是唯一的,而值(value)則可以是任何資料型別。使用字典時,經常需要獲取(或查詢)與特定鍵相關聯的值。下面介紹幾種獲取字典中值的方法:

1. 直接透過鍵訪問

如果你知道鍵的確切名稱,可以直接使用鍵來獲取對應的值。如果鍵存在於字典中,Python將返回其對應的值;如果鍵不存在,則會丟擲一個KeyError異常。

my_dict = {"name": "John", "age": 30, "city": "New York"}

# 獲取鍵 'name' 的值
print(my_dict["name"])  # 輸出: John
# 如果嘗試訪問不存在的鍵,將丟擲 KeyError
# print(my_dict['country'])  # KeyError: 'country'

2. 使用get()方法

  • 為了避免KeyError,可以使用get()方法。
  • get()方法接受兩個引數:要查詢的鍵和可選的預設值(如果鍵不存在時返回)。
  • 如果鍵不存在,則返回預設值(預設為None)。
my_dict = {"name": "John", "age": 30, "city": "New York"}

# 使用 get() 方法獲取鍵 'name' 的值
print(my_dict.get("name"))  # 輸出: John

# 如果鍵不存在,則返回 'Not Found'
print(my_dict.get("country", "Not Found"))  # 輸出: Not Found

3. 遍歷字典

如果你想檢查字典中的所有鍵值對,可以使用迴圈遍歷字典。

my_dict = {"name": "John", "age": 30, "city": "New York"}

# 遍歷字典的鍵和值
for key, value in my_dict.items():
    print(f"{key}: {value}")

# 只遍歷鍵
for key in my_dict.keys():
    print(key)

# 只遍歷值
for value in my_dict.values():
    print(value)

4. 檢查鍵是否存在

  • 在嘗試訪問字典中的值之前,你也可以先檢查鍵是否存在。
  • 這可以透過in關鍵字完成。
my_dict = {"name": "John", "age": 30, "city": "New York"}

# 檢查鍵 'name' 是否存在
if "name" in my_dict:
    print(my_dict["name"])  # 輸出: John
else:
    print("Key does not exist.")

以上是Python中獲取字典中值(或進行查詢)的幾種常見方法。每種方法都有其適用場景,你可以根據具體需求選擇最合適的方法。

5. 基於值獲取鍵

  • 可以構建別名系統
def dict_find_key_from_value(dict_in, str_in):
    """基於value查詢字典的key"""
    for key, value_list in dict_in.items():
        if str_in in value_list:
            return key
    # 如果沒有找到匹配的字串,則返回None
    # 走到此處還沒返回說明,沒有
    return None
  • 示例:
# 構建別名系統的字典,值為列表  
alias_dict = {  
    'nick': ['Nicholas', 'Nickolas'],  
    'sarah': ['Sarah', 'Sara'],  
    'tommy': ['Thomas', 'Tommy'],  
    'lily': ['Lillian', 'Lily-Anne']  
}  

相關文章