Python中字典dict的11種不同操作方法

banq發表於2024-05-10

在本Python教程中,您將透過實際示例和現實場景學習所有Python dict方法。在這篇 Python 文章中,我們透過實際示例探索了所有Python 字典方法。我們找到了 11 個字典方法,例如update()、keys()、values()、items()、popitem()等,並分別解釋了每個方法的語法和程式碼。

在處理 Python 專案時,資料儲存在 json 檔案中,您可以將其轉換為Python 中的字典。我想做很多更改,例如新增新的鍵和值、刪除不必要的資料等。

如果您嘗試手動進行更改,將花費大量時間,因此Python提供了一些內建方法,可以幫助您透過呼叫Python字典方法來對字典進行更改。

如何使用 Python 字典方法
我們先來了解一下場景;在正確的情況下使用正確的方法真的很重要。讓我們以一個場景為例,

emp_data = {<font>"names": ["john", "jake", "peter", "robert"],
           
"age": [34,23,45,28],
           
"salary": [12000, 15000, 25000, 18000]}

假設這是我員工的資料,我想對其進行一些更改,例如新增新金鑰並將工資增加 10% 等。

在這種情況下,您可以使用一些字典方法來定位鍵的特定元素等。

讓我們透過實際示例和一些現實場景來單獨瞭解所有 Python 字典方法。

Python 字典 Update() 方法
首先,我們將看到 Python 中字典的update()方法。 update 方法允許您在鍵不存在的情況下新增新的鍵和值,如果存在,則會修改其值。

dict.update({key, value})

{key, value}:這裡,如果給定的鍵已經存在,那麼它將修改其值。您可以直接提供字典,以便它更新它,而不是提供鍵值對。
讓我們瞭解update() 方法在 Python 字典方法中如何工作。

emp_data = {<font>"names": ["john", "jake", "peter", "robert"],
           
"age": [34,23,45,28],
           
"salary": [12000, 15000, 25000, 18000]}

data = {
"id":[1001,1002,1003,1004]}

data.update(emp_data)

print(data,
"\n")

data.update({
"present_all":True})

print(data)

Python 字典dict方法與 Python 中的 update() 方法
在上面的程式碼中,我們以兩種方式使用 update() 方法。我們有一個 emp_data 字典,然後得到另一個字典,其中 id 在那裡,我們需要將它新增到 emp_data 中。

  • 首先,我們使用 update() 方法,像這樣data.update(emp_data)將透過新增所有emp_data來更新資料字典。
  • 再次,我們使用update() 方法,將鍵和值直接提供給更新方法,如data.update({“present_all”:True})所以首先它將檢查 Present_all 鍵是否已存在於 dict 中。如果它不存在,它會將其新增為新金鑰。

Python 字典方法keys()
現在,我們將解釋Python中的內建方法keys()方法。 keys() 方法用於獲取字典中可用的鍵,它返回類似dict_keys(['key1', 'key2', 'key3'])的值。

閱讀:  如何在 Python 中使用函式交換兩個數字 [4 個示例]
 

dictionary_name.keys()

  • Dictionary_name.keys():該方法是專門為 dict 設計的,因此不適用於其他集合。

讓我們瞭解key()方法如何成為 Python Dict 方法的重要組成部分。

employee_info = {
    <font>"John Doe": {"position": "Manager", "department": "Sales", "salary": 70000},
   
"Jane Smith": {"position": "Engineer", "department": "Engineering", "salary": 80000},
   
"Mike Johnson": {"position": "Analyst", "department": "Finance", "salary": 65000}
}

print(employee_info.keys())

在上面的程式碼中

  • 我們有一個名為employee_info的字典,我們需要從字典中獲取所有鍵。所以我們使用這樣的key() 方法: print(employee_info.keys()),所以它給了我dict 中的所有鍵。
  • 我們將其作為輸出dict_keys(['John Doe', 'Jane Smith', 'Mike Johnson']) 獲得,但如果我們想透過索引號訪問任何值,那麼您可以使用列表將其轉換為列表() 方法像這樣list(employee_info.keys())。

Python 字典 value() 方法
要從字典中獲取所有值,我們可以使用values ()方法,這是Python中專門為dict資料型別構建的內建方法來獲取值。它將返回如下值:dict_values([value1, value2,value3…])。

dictionary.values()

讓我們看看values()方法如何作為Python字典函式工作

emp_data = {<font>"names": ["john", "jake", "peter", "robert"],
           
"age": [34,23,45,28],
           
"salary": [12000, 15000, 25000, 18000]}

print(emp_data.values())


在上面的程式碼中,我們有一個名為emp_data的字典,我們需要從 Python 中的字典中獲取所有現有的值。因此,我們使用value()方法,它將返回dict_values()及其內部的所有值。

Python 字典 items() 函式
當我們需要訪問鍵和值時,我們可以使用Python中的item()方法,它將返回巢狀元組中的字典鍵和值,如下所示

dict_items([('key', 'value])


使用 Python 字典方法中的 items() 方法的示例

emp_data = {<font>"names": ["john", "jake", "peter", "robert"],
           
"age": [34,23,45,28],
           
"salary": [12000, 15000, 25000, 18000]}

print(emp_data.items())


在上面的程式碼中,我們有一個名為emp_data的字典,我們需要從字典中獲取所有鍵和值。因此,我們使用這樣的 items() 方法:emp_data.items(),它將返回巢狀元組列表中的所有鍵值對。

Python中字典的Dict.get()方法
現在,我們將瞭解如何在 Python 中使用 get() 方法。 get() 方法透過將鍵名作為引數傳遞來訪問特定值。

使用這種方法的好處是,如果給定的key不存在,那麼不會丟擲任何錯誤;它將返回 None 。

它還接受第二個引數作為預設值;假設您想要將第一個引數中的給定鍵新增到字典中(如果它尚不存在),並且它將採用給定的預設值作為其值。

dict.get("key")

  • dict.get(“key”):如果您不希望輸出為 None 並希望將該鍵新增到字典中,那麼您可以提供第二個引數,例如dict.get(“key”, default value)。

讓我們看看Python dict 方法中的get() 方法是如何工作的。

weather_data = {
    <font>"Monday": {"temperature": 25, "humidity": 60, "wind_speed": 10},
   
"Tuesday": {"temperature": 22, "humidity": 65, "wind_speed": 15},
   
"Wednesday": {"temperature": 27, "humidity": 55, "wind_speed": 8}
}

check = weather_data.get(
"Wednesday")

print(check)


在上面的程式碼中,我們有每天的天氣資料。但我們只需要獲取週三的資料。因此,我們使用 get() 方法,例如 Weather_data.get(“Wednesday”),它將僅返回Wednesday鍵的特定值。


如何在Python中使用 dict.fromkeys() 方法
fromkeys ()方法是Python中dict類的方法。它從現有字典建立新字典。它將獲取舊字典中的所有鍵並將它們新增到新字典中,而不新增值。

如果您沒有在第二個引數中提供預設值,則預設值為 none。

var_name = dict.fromkeys(old_dict, default_value)


讓我們透過一個實際的例子來理解dict.fromkeys()方法。

restaurant_menu = {
    <font>"Burger": {"price": 10, "category": "Main", "is_vegetarian": False},
   
"Salad": {"price": 8, "category": "Appetizer", "is_vegetarian": True},
   
"Pizza": {"price": 12, "category": "Main", "is_vegetarian": True}
}

new_menu = dict.fromkeys(restaurant_menu)

print(new_menu)

new_menu = dict.fromkeys(restaurant_menu,
"Unknown")

print(new_menu)

在上面的程式碼中,我們有一個Restaurant_menu,其中專案作為鍵,其他資料作為值。我們決定更改商品的資料,例如價格。

因此,我們建立了一個新選單,並使用 fromkeys() 方法從舊選單中獲取相同的專案,例如dict.fromkeys(restaurant_menu, “Unknown”) ,並暫時將“ unknown”作為預設值,以便我們可以更新稍後再說。

setdefault() 方法在 Python 字典中如何工作
setdefault()方法還用於獲取給定鍵的值(如果存在),如果字典中不存在,則返回None。

您可以在第二個引數中指定預設值,以便它將新的鍵值對新增到字典中。

Python 中 setdefault() 方法的語法

dict.setdefault("key", default value)

setdefault(“key”, default value):這裡,預設值是一個可選引數;如果你沒有給出預設值,那麼預設情況下它將採用None作為值。

讓我們瞭解Python dict 方法中的setdefault()方法如何工作。

car_details = {<font>"BMW":150000,
               
"Audi": 120000,
               
"Jaguar": 140000}

car_details.setdefault(
"Mercedes","Not Available")

print(car_details)

在上面的程式碼中,我們有 car_details 資料,我們需要編寫一個程式,如果使用者搜尋任何汽車,那麼它應該顯示它的價格,如果字典中沒有該汽車,則不給出鍵錯誤,它應該記錄使用者搜尋並將其作為鍵新增到字典中,並向使用者給出“不可用”訊息。

在這種情況下,我們使用setdefault()方法,如下所示:car_details.setdefault(“Mercedes”, “Not available”)。

可以看到使用者仍在搜尋 Mercedes,而字典中沒有該詞;它不會給出錯誤並將該輸入新增為鍵並將“不可用Not Available”新增為值。

如何在 Python 中使用帶有字典的clear()方法
要從字典中刪除所有鍵值對,我們可以使用Python中的clear()方法。它可以從Python中的集合中刪除所有元素。

dict.clear() 

  • clear():此方法適用於 Python 中的每個集合。

讓我們看看如何在 Python 中對字典使用clear()方法。

product_inventory = {
    <font>"Laptop": {"brand": "Dell", "price": 1200, "stock": 50},
   
"Smartphone": {"brand": "Apple", "price": 1000, "stock": 100},
   
"Headphones": {"brand": "Sony", "price": 150, "stock": 200}
}

product_inventory.clear()

print(
"Product Inventory:",product_inventory)

在上面的程式碼中,我們有product_inventory的資料,我需要從資料中刪除所有產品。

所以我們使用像這樣的clear()方法,product_inventory.clear(),它會使字典為空。

如何在 Python 中使用 popitem() 方法
popitem ()方法是專門為字典資料型別建立的。它從 Python 字典中刪除最後一個鍵值對。它不帶任何引數,因此只能刪除最後一個鍵值對。

dict_name.popitem()

  • dict_name.popitem():如果嘗試對不同的集合使用此方法,則會丟擲錯誤。

customer_orders = {
    <font>"Order001": {"customer": "John", "items": ["Laptop", "Smartphone"], "total": 2200},
   
"Order002": {"customer": "Emily", "items": ["Headphones"], "total": 150},
   
"Order003": {"customer": "Michael", "items": ["Laptop", "Smartphone", "Headphones"], "total": 2350}
}

cancel_orders = customer_orders.popitem()

print(
"This is list of customer orders: ", customer_orders)

print(
"\n\nCancelled orders: ", cancel_orders)

在上面的程式碼中,我們在字典中獲取了客戶訂單記錄,我們正在尋找一個函式,可以從字典中刪除最近的訂單,並向使用者顯示已取消的訂單。

在這種情況下,我們使用popitem() 方法,其工作原理如下:cancel_orders = customer_orders.popitem()從字典中刪除最後一個鍵值對,並將該訂單新增到cancel_orders變數中。

如何在字典中使用 Pop() 方法
在前面的示例中,我們瞭解了 popitem() 方法在字典中的工作原理,但是如果您想從字典中刪除第一個或某個中間元素,則不能使用該方法。

為了解決這個問題,我們可以使用Python中的pop()方法。它用於從Python 中的任何集合中刪除元素。通常,我們將元素的索引值作為其引數來刪除它,但對於字典,您可以給出鍵名稱,以便它從 Python 的字典中刪除該鍵值對。

customer_orders = {
    <font>"Order001": {"customer": "John", "items": ["Laptop", "Smartphone"], "total": 2200},
   
"Order002": {"customer": "Emily", "items": ["Headphones"], "total": 150},
   
"Order003": {"customer": "Michael", "items": ["Laptop", "Smartphone", "Headphones"], "total": 2350}
}

cancelled_orders = customer_orders.pop(
"Order001")

print(
"Updated Data:",customer_orders)

print(
"\n\nCancelled Order:", cancelled_orders)

在上面的程式碼中,我們使用與上一個相同的示例。但現在,我們需要從字典中刪除第一個鍵值對。

因此,我們使用pop()方法,如下所示:cancelled_orders = customer_orders.pop(“Order001”),因此它將把刪除的值儲存在cancelled_order變數中。

總結
在這篇 Python 文章中,我們透過實際示例探索了所有Python 字典方法。我們找到了 11 個字典方法,例如update()、keys()、values()、items()、popitem()等,並分別解釋了每個方法的語法和程式碼。
 

相關文章