8个必须知道的Python字典骚操作

VOL.140343 views

1

Mar. 2024

Python 中的字典(Dictionary)是一种非常有用的数据结构,用于存储键-值对。字典是可变的、无序的集合,可以通过键来访问值。在本文中,将探讨一些必须知道的 Python 字典操作,这些操作能够提高编程效率并使代码更加优雅。

1. 字典的创建和初始化

创建和初始化一个字典。

# 创建一个空字典
my_dict = {}

# 创建一个带有初始键值对的字典
person = {
    'name': 'Alice',
    'age': 30,
    'city': 'New York'
}

# 使用 dict() 构造函数创建字典
animal = dict(species='cat', color='gray')

2. 字典的基本操作

访问字典中的值

可以使用键来访问字典中的值。

# 访问字典中的值
print(person['name'])  # 输出:'Alice'

更新字典中的值

要更新字典中的值,只需使用键来赋新值。

# 更新字典中的值
person['age'] = 31
print(person)  # 输出:{'name': 'Alice', 'age': 31, 'city': 'New York'}

删除字典中的键值对

可以使用 del 语句删除字典中的键值对。

# 删除字典中的键值对
del person['city']
print(person)  # 输出:{'name': 'Alice', 'age': 31}

3. 字典的遍历

遍历字典的键

使用 keys() 方法可以遍历字典的所有键。

# 遍历字典的键
for key in person.keys():
    print(key)
# 输出:
# name
# age

遍历字典的值

使用 values() 方法可以遍历字典的所有值。

# 遍历字典的值
for value in person.values():
    print(value)
# 输出:
# Alice
# 31

遍历字典的键值对

使用 items() 方法可以遍历字典的所有键值对。

# 遍历字典的键值对
for key, value in person.items():
    print(f'{key}: {value}')
# 输出:
# name: Alice
# age: 31

4. 字典的合并

可以使用 update() 方法将一个字典的键值对合并到另一个字典中。

# 合并两个字典
person_info = {'job': 'engineer', 'hobby': 'reading'}
person.update(person_info)
print(person)
# 输出:{'name': 'Alice', 'age': 31, 'job': 'engineer', 'hobby': 'reading'}

5. 使用 get() 方法获取值

get() 方法可以通过键来获取值,如果键不存在,它不会引发错误,而是返回一个默认值。

# 使用 get() 方法获取值
city = person.get('city', 'Unknown')
print(city)  # 输出:'Unknown'

6. 使用字典推导式

字典推导式可以根据某些条件快速创建字典。

# 使用字典推导式创建字典
squares = {x: x ** 2 for x in range(5)}
print(squares)  # 输出:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

7. 默认字典

collections 模块中的 defaultdict 类可以创建一个带有默认值的字典,这样在访问不存在的键时不会引发错误。

from collections import defaultdict

# 创建默认字典,值的默认类型是 int
word_count = defaultdict(int)

# 增加单词计数
words = ['apple', 'banana', 'apple', 'cherry']
for word in words:
    word_count[word] += 1

print(word_count)  # 输出:defaultdict(<class 'int'>, {'apple': 2, 'banana': 1, 'cherry': 1})

8. 字典的排序

要根据键或值对字典进行排序,可以使用 sorted() 函数。

根据键排序

# 根据键对字典进行排序
sorted_dict = dict(sorted(person.items()))
print(sorted_dict)
# 输出:{'age': 31, 'hobby': 'reading', 'job': 'engineer', 'name': 'Alice'}

根据值排序

# 根据值对字典进行排序
sorted_dict_by_value = dict(sorted(person.items(), key=lambda item: item[1]))
print(sorted_dict_by_value)
# 输出:{'age': 31, 'name': 'Alice', 'job': 'engineer', 'hobby': 'reading'}

总结

本文介绍了8个必须知道的 Python 字典操作,这些操作能够提高代码的效率和可读性,使编程更加便捷。首先,学习了如何创建和初始化字典,包括使用大括号 {}、dict() 构造函数以及带有初始键值对的字典。接着,探讨了字典的基本操作,包括访问、更新和删除键值对的方法,以及如何使用 get() 方法来获取值。此外,介绍了字典的遍历方式,包括遍历键、值和键值对。

然后,学习了如何合并两个字典,使用 update() 方法可以轻松实现字典的合并。字典推导式是一种方便快捷地创建字典的方式,通过简洁的语法,可以根据条件生成键值对。默认字典是 Python 提供的一个有用工具,可以创建带有默认值的字典,避免了访问不存在键时的错误。最后,了解了如何对字典进行排序,包括根据键和值进行排序,这在处理大量数据时非常有用。

这些字典操作是 Python 编程中不可或缺的一部分,掌握它们将使代码更加高效、清晰,并且能够更好地处理各种数据操作任务。