Python爬虫技术--基础篇--字典和集合

1. 字典和集合简介

在Python中,字典(Dictionary)和集合(Set)是两种常用的数据结构,用于存储和操作一组相关数据。字典是一种无序的键值对集合,每个键(Key)都唯一,而值(Value)可以是任意类型的对象;集合是一种无序且不重复的元素集合。

1.1 字典

字典使用大括号 {} 表示,每个键值对使用冒号 : 分隔,键值对之间使用逗号 , 分隔。字典的键必须是不可变的类型,比如字符串、数字或元组,而值可以是任意类型的对象。

# 创建一个字典

student = {'name': 'Tom', 'age': 18, 'gender': 'male'}

可以通过键来访问对应的值:

# 访问字典的值

print(student['name']) # 输出 'Tom'

字典是可变的,可以通过赋值来修改键对应的值:

# 修改字典的值

student['age'] = 20

print(student['age']) # 输出 20

1.2 集合

集合使用大括号 {} 或 set() 函数来创建,元素之间使用逗号 , 分隔。集合中的元素必须是不可变的类型。

# 创建一个集合

fruits = {'apple', 'banana', 'orange'}

可以使用 in 操作符来判断一个元素是否在集合中:

# 判断元素是否在集合中

print('apple' in fruits) # 输出 True

集合不允许重复的元素:

# 添加重复的元素

fruits.add('apple')

print(fruits) # 输出 {'apple', 'banana', 'orange'}

集合支持交集、并集和差集等操作:

# 集合的交集、并集和差集

fruits1 = {'apple', 'banana', 'orange'}

fruits2 = {'banana', 'pear'}

intersection = fruits1 & fruits2 # 交集

union = fruits1 | fruits2 # 并集

difference = fruits1 - fruits2 # 差集

print(intersection) # 输出 {'banana'}

print(union) # 输出 {'apple', 'banana', 'orange', 'pear'}

print(difference) # 输出 {'apple', 'orange'}

2. 字典和集合的应用场景

字典和集合在Python中广泛应用于各种场景,在以下几个方面特别常见:

2.1 数据索引和查找

字典可以根据键快速定位对应的值,类似于数据库中的索引操作。这种快速查找的特性使得字典非常适合处理大量数据。

2.2 数据去重

集合中的元素是不重复的,可以用来去重。你可以把一个列表转化为集合,然后再转回列表,就能去除重复的元素。

2.3 数据计数

字典的键值对可以用来进行数据计数。你可以遍历一个列表,并使用字典统计各个元素的出现次数。

3. 常用操作示例

3.1 字典的常用操作

字典支持的常用操作有:

3.1.1 添加和删除元素

student = {'name': 'Tom', 'age': 18, 'gender': 'male'}

# 添加一个新的键值对

student['grade'] = 90

# 删除指定键的键值对

del student['gender']

print(student) # 输出 {'name': 'Tom', 'age': 18, 'grade': 90}

3.1.2 修改值

student = {'name': 'Tom', 'age': 18, 'gender': 'male'}

# 修改指定键的值

student['age'] = 20

print(student['age']) # 输出 20

3.2 集合的常用操作

集合支持的常用操作有:

3.2.1 添加和删除元素

fruits = {'apple', 'banana', 'orange'}

# 添加一个新的元素

fruits.add('pear')

# 删除指定元素

fruits.remove('banana')

print(fruits) # 输出 {'apple', 'orange', 'pear'}

3.2.2 集合的交集、并集和差集

fruits1 = {'apple', 'banana', 'orange'}

fruits2 = {'banana', 'pear'}

# 集合的交集

intersection = fruits1 & fruits2

# 集合的并集

union = fruits1 | fruits2

# 集合的差集

difference = fruits1 - fruits2

print(intersection) # 输出 {'banana'}

print(union) # 输出 {'apple', 'banana', 'orange', 'pear'}

print(difference) # 输出 {'apple', 'orange'}

4. 总结

在本文中,我们介绍了Python中的字典和集合的基础知识。字典是无序的键值对集合,用于存储和操作一组相关数据;集合是无序且不重复的元素集合。字典和集合在Python中的应用非常广泛,常用于数据索引和查找、数据去重、数据计数等场景。

通过学习本文,希望您对字典和集合的基本概念和常用操作有了更深入的了解,能够灵活运用它们解决实际问题。

后端开发标签