1. 字典
在 Python 中,字典(Dictionary)是一种可变的、无序的、键值对(key-value)集合类型,它可以存储不同类型的数据。字典中的每个元素都有一个唯一的键(key)和相应的值(value)组成。可以使用大括号将键值对包裹起来,多个键值对之间用逗号隔开。例如:
# 创建一个字典
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 输出字典
print(my_dict)
# 访问字典中的元素
print(my_dict['name'])
# 更新字典中的元素
my_dict['age'] = 21
print(my_dict)
在上面的例子中,我们创建了一个字典,其中包含三个键值对,分别是 name、age 和 gender。我们可以通过键名来访问和更新字典中的元素。
1.1 字典的常用操作
在 Python 中,字典是一种非常常用的数据类型,经常用于存储一些需要快速查找的数据。下面是一些常用的字典操作。
1.1.1 获取字典中的元素
我们可以通过键名来访问字典中的元素。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 访问字典中的元素
print(my_dict['name'])
输出结果为:
Alice
如果访问的键不存在,则会抛出异常。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 访问不存在的键,会抛出 KeyError 异常
my_dict['email']
输出结果为:
KeyError: 'email'
我们可以使用 get() 方法来获取字典中的元素。如果键不存在,返回指定值(默认为 None)。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 获取字典中的元素
print(my_dict.get('name'))
# 获取不存在的键时,返回 None
print(my_dict.get('email'))
# 获取不存在的键时,返回指定值
print(my_dict.get('email', 'unknown'))
输出结果为:
Alice
None
unknown
1.1.2 修改字典中的元素
我们可以通过键名来修改字典中的元素。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 修改字典中的元素
my_dict['age'] = 21
print(my_dict)
输出结果为:
{'name': 'Alice', 'age': 21, 'gender': 'female'}
1.1.3 添加字典中的元素
我们可以通过键名来添加字典中的元素。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 添加字典中的元素
my_dict['email'] = 'alice@example.com'
print(my_dict)
输出结果为:
{'name': 'Alice', 'age': 20, 'gender': 'female', 'email': 'alice@example.com'}
1.1.4 删除字典中的元素
我们可以通过键名来删除字典中的元素。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 删除字典中的元素
del my_dict['age']
print(my_dict)
输出结果为:
{'name': 'Alice', 'gender': 'female'}
我们也可以使用 pop() 方法来删除字典中的元素。该方法会返回被删除的元素的值。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 删除字典中的元素
value = my_dict.pop('age')
print(my_dict)
print(value)
输出结果为:
{'name': 'Alice', 'gender': 'female'}
20
1.1.5 获取字典中的键、值、键值对
我们可以使用 keys() 方法来获取字典中所有的键。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 获取字典中的所有键
keys = my_dict.keys()
print(keys)
输出结果为:
dict_keys(['name', 'age', 'gender'])
我们也可以使用 values() 方法来获取字典中所有的值。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 获取字典中的所有值
values = my_dict.values()
print(values)
输出结果为:
dict_values(['Alice', 20, 'female'])
我们还可以使用 items() 方法来获取字典中所有的键值对。
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 获取字典中所有的键值对
items = my_dict.items()
print(items)
输出结果为:
dict_items([('name', 'Alice'), ('age', 20), ('gender', 'female')])
2. 集合
在 Python 中,集合(Set)是一种可变的、无序的、元素不重复的数据类型。可以使用大括号将元素包裹起来,多个元素之间用逗号隔开。例如:
# 创建一个集合
my_set = {1, 2, 3, 4, 5}
# 输出集合
print(my_set)
输出结果为:
{1, 2, 3, 4, 5}
2.1 集合的常用操作
在 Python 中,集合是一种非常常用的数据类型,它经常用于去重、交集、并集、差集等操作。下面是一些常用的集合操作。
2.1.1 创建集合
我们可以使用大括号或 set() 函数来创建一个集合。
my_set = {1, 2, 3, 4, 5} # 使用大括号创建集合
print(my_set)
my_set = set([1, 2, 3, 4, 5]) # 使用 set() 函数创建集合
print(my_set)
输出结果为:
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
2.1.2 添加元素
我们可以使用 add() 方法来向集合中添加一个元素。
my_set = {1, 2, 3, 4, 5}
# 向集合中添加一个元素
my_set.add(6)
print(my_set)
输出结果为:
{1, 2, 3, 4, 5, 6}
我们也可以使用 update() 方法来向集合中添加多个元素。
my_set = {1, 2, 3, 4, 5}
# 向集合中添加多个元素
my_set.update([6, 7, 8])
print(my_set)
输出结果为:
{1, 2, 3, 4, 5, 6, 7, 8}
2.1.3 删除元素
我们可以使用 remove() 方法来删除集合中的一个元素。
my_set = {1, 2, 3, 4, 5}
# 删除集合中的一个元素
my_set.remove(3)
print(my_set)
输出结果为:
{1, 2, 4, 5}
如果要删除的元素不存在,会抛出 KeyError 异常。
my_set = {1, 2, 3, 4, 5}
# 删除不存在的元素,会抛出 KeyError 异常
my_set.remove(6)
输出结果为:
KeyError: 6
我们可以使用 discard() 方法来删除集合中的一个元素。与 remove() 不同的是,如果要删除的元素不存在,不会抛出异常。
my_set = {1, 2, 3, 4, 5}
# 删除集合中的一个元素
my_set.discard(6)
print(my_set)
输出结果为:
{1, 2, 3, 4, 5}
我们也可以使用 pop() 方法来删除集合中的一个元素。由于集合是无序的,因此删除的元素是随机的。
my_set = {1, 2, 3, 4, 5}
# 删除集合中的一个元素
my_set.pop()
print(my_set)
输出结果为:
{2, 3, 4, 5}
2.1.4 计算集合的交集、并集、差集
我们可以使用 intersection() 方法来计算两个集合的交集。
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5, 6, 7}
# 计算两个集合的交集
result = set1.intersection(set2)
print(result)
输出结果为:
{3, 4, 5}
我们也可以使用 union() 方法来计算两个集合的并集。
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5, 6, 7}
# 计算两个集合的并集
result = set1.union(set2)
print(result)
输出结果为:
{1, 2, 3, 4, 5, 6, 7}
我们还可以使用 difference() 方法来计算两个集合的差集。
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5, 6, 7}
# 计算两个集合的差集
result = set1.difference(set2)
print(result)
输出结果为:
{1, 2}
2.1.5 判断元素是否在集合中
我们可以使用 in 和 not in 操作符来判断元素是否在集合中。
my_set = {1, 2, 3, 4, 5}
# 判断元素是否在集合中
print(3 in my_set)
print(6 not in my_set)
输出结果为:
True
True
3. 总结
在本文中,我们学习了 Python 中的字典和集合两种数据类型。字典是一种键值对集合类型,可以存储不同类型的数据,常用于快速查找数据。集合是一种元素不重复的无序集合类型,常用于去重、交集、并集、差集等操作。我们还介绍了字典和集合的常用操作,包括访问、修改、添加、删除、计算交集、并集、差集等操作。