Python - 訪問字典項



訪問字典項

訪問 Python 中的字典項涉及檢索與字典資料結構中特定鍵關聯的值。字典由鍵值對組成,其中每個鍵都是唯一的,並對映到相應的值。訪問字典項允許您透過提供相應的鍵來檢索這些值。

有多種方法可以訪問 Python 中的字典項。它們包括:

  • 使用方括號 []
  • get() 方法
  • 使用迴圈遍歷字典
  • 或使用 keys()、values() 和 items() 等特定方法

我們將詳細討論每種方法,以瞭解如何訪問和檢索字典中的資料。

使用方括號 [] 訪問字典項

在 Python 中,方括號 [] 用於建立列表、訪問列表或其他可迭代物件(如字串、元組或字典)中的元素,以及用於列表推導式。

我們可以透過在括號內提供鍵來使用方括號訪問字典項。這將檢索與指定鍵關聯的值。

示例 1

在下面的示例中,我們定義了一個名為“capitals”的字典,其中每個鍵代表一個州,其對應值代表首府城市。

然後,我們使用字典中各自的鍵 'Gujarat' 和 'Karnataka' 訪問和檢索古吉拉特邦和卡納塔克邦的首府城市:

capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Gujarat is : ", capitals['Gujarat'])
print ("Capital of Karnataka is : ", capitals['Karnataka'])

它將產生以下輸出:

Capital of Gujarat is: Gandhinagar
Capital of Karnataka is: Bengaluru

示例 2

如果方括號內給出的鍵不存在於字典物件中,Python 將引發 KeyError

capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Captial of Haryana is : ", capitals['Haryana'])

以下是獲得的錯誤:

   print ("Captial of Haryana is : ", capitals['Haryana'])
                                      ~~~~~~~~^^^^^^^^^^^
KeyError: 'Haryana'

使用 get() 方法訪問字典項

Python 的 dict 類中的 get() 方法 用於檢索與指定鍵關聯的值。如果字典中找不到該鍵,它將返回預設值(通常為 None),而不是引發 KeyError。

我們可以透過將鍵指定為引數來使用 get() 方法訪問字典項。如果鍵存在於字典中,該方法將返回關聯的值;否則,它將返回預設值,通常為 None,除非另有指定。

語法

以下是 Python 中 get() 方法的語法:

Val = dict.get("key")

其中,key 是用作字典物件中鍵的不可變物件。

示例 1

在下面的示例中,我們定義了一個名為“capitals”的字典,其中每個鍵值對將一個州對映到其首府城市。然後,我們使用 get() 方法檢索“Gujarat”和“Karnataka”的首府城市:

capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Gujarat is: ", capitals.get('Gujarat'))
print ("Capital of Karnataka is: ", capitals.get('Karnataka'))

我們得到如下所示的輸出:

Capital of Gujarat is: Gandhinagar
Capital of Karnataka is: Bengaluru

示例 2

與 "[]" 運算子不同,get() 方法在找不到鍵時不會引發錯誤;它返回 None:

capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Haryana is : ", capitals.get('Haryana'))

它將產生以下輸出:

Capital of Haryana is : None

示例 3

get() 方法接受一個可選的字串引數。如果提供該引數,並且找不到鍵,則該字串將成為返回值:

capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Haryana is : ", capitals.get('Haryana', 'Not found'))

執行上述程式碼後,我們得到以下輸出:

Capital of Haryana is: Not found

訪問字典鍵

在字典中,鍵是與每個值關聯的唯一識別符號。它們充當標籤或索引,允許您訪問和檢索相應的值。鍵是不可變的,這意味著一旦分配,它們就不能更改。它們必須是不可變資料型別,例如字串、數字或元組。

我們可以使用 keys() 方法訪問 Python 中的字典鍵,該方法返回一個包含字典中所有鍵的檢視物件。

示例

在這個例子中,我們使用 keys() 方法從 "student_info" 字典中檢索所有鍵:

# Creating a dictionary with keys and values
student_info = {
    "name": "Alice",
    "age": 21,
    "major": "Computer Science"
}
# Accessing all keys using the keys() method
all_keys = student_info.keys()
print("Keys:", all_keys)  

以下是上述程式碼的輸出:

Keys: dict_keys(['name', 'age', 'major'])

訪問字典值

在字典中,值是與每個唯一鍵關聯的資料。它們表示儲存在字典中的實際資訊,可以是任何資料型別,例如字串、整數、列表、其他字典等等。字典中的每個鍵都對映到一個特定的值,形成一個鍵值對。

我們可以使用以下方法在 Python 中訪問字典值:

  • 方括號 ([]):在括號內提供鍵。

  • get() 方法:使用鍵作為引數呼叫該方法,可以選擇提供預設值。

  • values() 方法:返回一個包含字典中所有值的檢視物件。

示例 1

在這個例子中,我們使用方括號直接訪問與鍵 "name" 和 "age" 關聯的值:

# Creating a dictionary with student information
student_info = {
    "name": "Alice",
    "age": 21,
    "major": "Computer Science"
}
# Accessing dictionary values using square brackets
name = student_info["name"]
age = student_info["age"]
print("Name:", name) 
print("Age:", age)   

上述程式碼的輸出如下:

Name: Alice
Age: 21

示例 2

在這裡,我們使用 get() 方法檢索與鍵 "major" 關聯的值,併為鍵 "graduation_year" 提供預設值 "2023":

# Creating a dictionary with student information
student_info = {
    "name": "Alice",
    "age": 21,
    "major": "Computer Science"
}
# Accessing dictionary values using the get() method
major = student_info.get("major")
# Default value provided if key is not found
grad_year = student_info.get("graduation_year", "2023")  

print("Major:", major)      
print("Graduation Year:", grad_year) 

我們得到如下結果:

Major: Computer Science
Graduation Year: 2023

示例 3

現在,我們使用 values() 方法從 "student_info" 字典中檢索所有值:

# Creating a dictionary with keys and values
student_info = {
    "name": "Alice",
    "age": 21,
    "major": "Computer Science"
}
# Accessing all values using the values() method
all_values = student_info.values()
print("Values:", all_values) 

獲得的結果如下所示:

Values: dict_values(['Alice', 21, 'Computer Science'])

使用 items() 函式訪問字典項

Python 中的 items() 函式用於返回一個檢視物件,該物件顯示字典的鍵值元組對列表。

此檢視物件可用於同時迭代字典的鍵和值,從而可以輕鬆地在單個迴圈中訪問鍵和值。

示例

在下面的示例中,我們使用 items() 函式從 "student_info" 字典中檢索所有鍵值對:

# Creating a dictionary with student information
student_info = {
    "name": "Alice",
    "age": 21,
    "major": "Computer Science"
}

# Using the items() method to get key-value pairs
all_items = student_info.items()
print("Items:", all_items)  
# Iterating through the key-value pairs
print("Iterating through key-value pairs:")
for key, value in all_items:
    print(f"{key}: {value}")

以下是上述程式碼的輸出:

Items: dict_items([('name', 'Alice'), ('age', 21), ('major', 'Computer Science')])
Iterating through key-value pairs:
name: Alice
age: 21
major: Computer Science
廣告