前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >超详解——Python 字典详解——小白篇

超详解——Python 字典详解——小白篇

作者头像
小李很执着
发布2024-06-15 10:36:21
550
发布2024-06-15 10:36:21
举报
文章被收录于专栏:学习笔记学习笔记

字典(Dictionary)是Python中非常重要和实用的数据结构,用于存储键值对(key-value pairs)。字典在很多编程场景中非常有用,因为它们提供了一种高效的方式来管理和访问数据。本文将详细讲解如何创建字典、访问字典中元素、修改字典元素、删除字典元素、查找元素是否是字典的键、标准类型操作符以及常用内置函数。

1. 创建字典

字典是由一系列键值对组成的无序集合。键是唯一的,且必须是不可变的类型(如字符串、数字或元组),值可以是任何类型。字典使用花括号 {} 创建,键和值之间用冒号 : 分隔,键值对之间用逗号 , 分隔。

示例:
代码语言:javascript
复制
# 创建一个空字典
empty_dict = {}

# 创建一个包含键值对的字典
person = {"name": "Alice", "age": 25, "city": "New York"}

# 使用 dict() 函数创建字典
person = dict(name="Alice", age=25, city="New York")

# 创建嵌套字典
nested_dict = {"name": "Alice", "details": {"age": 25, "city": "New York"}}

print(empty_dict)  # 输出:{}
print(person)      # 输出:{'name': 'Alice', 'age': 25, 'city': 'New York'}
print(nested_dict) # 输出:{'name': 'Alice', 'details': {'age': 25, 'city': 'New York'}}

2. 访问字典中的元素

字典中的元素可以通过键来访问。如果键不存在,会引发 KeyError 异常。可以使用 get() 方法在键不存在时返回默认值,而不是引发异常。

示例:
代码语言:javascript
复制
person = {"name": "Alice", "age": 25, "city": "New York"}

# 使用键访问值
print(person["name"])  # 输出:Alice
print(person["age"])   # 输出:25

# 使用 get() 方法访问值
print(person.get("city"))      # 输出:New York
print(person.get("country"))   # 输出:None
print(person.get("country", "USA"))  # 输出:USA

3. 修改字典元素

字典中的值可以通过键进行修改。如果键不存在,会添加一个新的键值对。

示例:
代码语言:javascript
复制
person = {"name": "Alice", "age": 25, "city": "New York"}

# 修改现有键的值
person["age"] = 26
print(person)  # 输出:{'name': 'Alice', 'age': 26, 'city': 'New York'}

# 添加新的键值对
person["country"] = "USA"
print(person)  # 输出:{'name': 'Alice', 'age': 26, 'city': 'New York', 'country': 'USA'}

4. 删除字典元素

可以使用 del 语句或 pop() 方法删除字典中的元素。pop() 方法还会返回被删除的值。popitem() 方法删除并返回字典中的最后一个键值对(在Python 3.7+中,字典是有序的)。

示例:
代码语言:javascript
复制
person = {"name": "Alice", "age": 25, "city": "New York", "country": "USA"}

# 使用 del 语句删除元素
del person["country"]
print(person)  # 输出:{'name': 'Alice', 'age': 25, 'city': 'New York'}

# 使用 pop() 方法删除元素
age = person.pop("age")
print(age)     # 输出:25
print(person)  # 输出:{'name': 'Alice', 'city': 'New York'}

# 使用 popitem() 方法删除并返回最后一个键值对
last_item = person.popitem()
print(last_item)  # 输出:('city', 'New York')
print(person)     # 输出:{'name': 'Alice'}
使用 del 语句删除字典元素

del 语句用于从字典中删除指定的键及其对应的值。使用此方法时,如果尝试删除的键不存在,会引发 KeyError 异常。

代码语言:javascript
复制
person = {
    "name": "Alice",
    "age": 25,
    "city": "New York",
    "country": "USA"
}

# 使用 del 语句删除键 "country"
del person["country"]
print(person)  # 输出:{'name': 'Alice', 'age': 25, 'city': 'New York'}
使用 pop() 方法删除字典元素

pop() 方法用于删除指定的键,并返回该键对应的值。如果指定的键不存在,同样会引发 KeyError 异常。可以提供一个默认值参数,当键不存在时返回该默认值而不引发异常。

代码语言:javascript
复制
person = {
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

# 使用 pop() 方法删除键 "age" 并返回其值
age = person.pop("age")
print(age)     # 输出:25
print(person)  # 输出:{'name': 'Alice', 'city': 'New York'}

# 使用 pop() 方法删除键 "country" 并提供默认值
country = person.pop("country", "Not Found")
print(country)  # 输出:Not Found
print(person)   # 输出:{'name': 'Alice', 'city': 'New York'}
使用 popitem() 方法删除并返回最后一个键值对

popitem() 方法删除并返回字典中的最后一个键值对。在 Python 3.7 及之后的版本中,字典是有序的,因此 popitem() 会删除字典中的最后一个元素。如果字典为空,调用 popitem() 会引发 KeyError 异常。

代码语言:javascript
复制
person = {
    "name": "Alice",
    "city": "New York"
}

# 使用 popitem() 方法删除并返回最后一个键值对
last_item = person.popitem()
print(last_item)  # 输出:('city', 'New York')
print(person)     # 输出:{'name': 'Alice'}

5. 查找元素是否是字典的键

可以使用 in 操作符检查一个键是否存在于字典中。

示例:
代码语言:javascript
复制
person = {"name": "Alice", "age": 25, "city": "New York"}

# 检查键是否存在
print("name" in person)  # 输出:True
print("country" in person)  # 输出:False

# 检查键是否不存在
print("name" not in person)  # 输出:False
print("country" not in person)  # 输出:True
检查键是否存在

使用 in 操作符可以直接检查键是否在字典中。

代码语言:javascript
复制
# 检查键 "name" 是否存在于字典 person 中
print("name" in person)  # 输出:True

# 检查键 "country" 是否存在于字典 person 中
print("country" in person)  # 输出:False
  • "name" in person 返回 True,因为字典 person 中确实存在键 "name"
  • "country" in person 返回 False,因为字典 person 中不存在键 "country"
检查键是否不存在

同样地,我们可以使用 not in 操作符来检查键是否不在字典中。

代码语言:javascript
复制
# 检查键 "name" 是否不存在于字典 person 中
print("name" not in person)  # 输出:False

# 检查键 "country" 是否不存在于字典 person 中
print("country" not in person)  # 输出:True
  • "name" not in person 返回 False,因为字典 person 中存在键 "name"
  • "country" not in person 返回 True,因为字典 person 中确实不存在键 "country"

6. 标准类型操作符

字典支持一些常用的标准类型操作符,例如键值对的长度、合并两个字典等。

获取字典长度

使用 len() 函数可以获取字典中键值对的数量。

示例:

代码语言:javascript
复制
person = {"name": "Alice", "age": 25, "city": "New York"}
print(len(person))  # 输出:3

合并两个字典

在Python 3.9+中,可以使用 | 操作符合并两个字典。

示例:

代码语言:javascript
复制
dict1 = {"name": "Alice"}
dict2 = {"age": 25, "city": "New York"}
merged_dict = dict1 | dict2
print(merged_dict)  # 输出:{'name': 'Alice', 'age': 25, 'city': 'New York'}

在早期版本中,可以使用 update() 方法合并字典。

示例:

代码语言:javascript
复制
dict1 = {"name": "Alice"}
dict2 = {"age": 25, "city": "New York"}
dict1.update(dict2)
print(dict1)  # 输出:{'name': 'Alice', 'age': 25, 'city': 'New York'}

7. 常用内置函数

Python提供了一些内置函数,用于操作和处理字典。

keys() 方法

keys() 方法返回字典中所有的键。

示例:

代码语言:javascript
复制
person = {"name": "Alice", "age": 25, "city": "New York"}
print(person.keys())  # 输出:dict_keys(['name', 'age', 'city'])

values() 方法

values() 方法返回字典中所有的值。

示例:

代码语言:javascript
复制
person = {"name": "Alice", "age": 25, "city": "New York"}
print(person.values())  # 输出:dict_values(['Alice', 25, 'New York'])

items() 方法

items() 方法返回字典中所有的键值对。

示例:

代码语言:javascript
复制
person = {"name": "Alice", "age": 25, "city": "New York"}
print(person.items())  # 输出:dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])

字典的遍历

可以使用 for 循环遍历字典的键、值或键值对。

示例:

代码语言:javascript
复制
person = {"name": "Alice", "age": 25, "city": "New York"}

# 遍历键
for key in person.keys():
    print(key)

# 遍历值
for value in person.values():
    print(value)

# 遍历键值对
for key, value in person.items():
    print(f"{key}: {value}")
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 创建字典
  • 2. 访问字典中的元素
  • 3. 修改字典元素
  • 4. 删除字典元素
    • 使用 del 语句删除字典元素
      • 使用 pop() 方法删除字典元素
        • 使用 popitem() 方法删除并返回最后一个键值对
        • 5. 查找元素是否是字典的键
          • 检查键是否存在
            • 检查键是否不存在
            • 6. 标准类型操作符
              • 获取字典长度
                • 合并两个字典
                • 7. 常用内置函数
                  • keys() 方法
                    • values() 方法
                      • items() 方法
                      • 字典的遍历
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档