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

在本Python教程中,您将通过实际示例和现实场景学习所有Python dict方法。在这篇 Python 文章中,我们通过实际示例探索了所有Python 字典方法。我们找到了 11 个字典方法,例如update()、keys()、values()、items()、popitem()等,并分别解释了每个方法的语法和代码。

在处理 Python 项目时,数据存储在 json 文件中,您可以将其转换为Python 中的字典。我想做很多更改,例如添加新的键和值、删除不必要的数据等。

如果您尝试手动进行更改,将花费大量时间,因此Python提供了一些内置方法,可以帮助您通过调用Python字典方法来对字典进行更改。

如何使用 Python 字典方法
我们先来了解一下场景;在正确的情况下使用正确的方法真的很重要。让我们以一个场景为例,

emp_data = {"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 = {"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 = {
    "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 = {"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 = {"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 = {
    "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 = {
    "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 = {"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 = {
    "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 = {
    "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 = {
    "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()等,并分别解释了每个方法的语法和代码。