09.Python set集合基础教程
Python set集合基础教程
什么是Python set集合?
set(集合)是Python中的一种基本数据类型,它是一个无序的、不重复元素的集合。集合中的元素必须是不可变的(hashable)类型,比如数字、字符串或元组。
集合的特点
- 无序性:集合中的元素没有固定的顺序
- 唯一性:集合中的元素都是唯一的,不会重复
- 可变性:集合是可变的,可以添加或删除元素
- 不支持索引:因为是无序的,所以不能通过索引访问元素
创建集合
1. 使用花括号{}创建集合
代码语言:javascript代码运行次数:0运行复制# 创建一个包含多个元素的集合
fruits = {'apple', 'banana', 'orange'}
print(fruits) # 输出: {'orange', 'banana', 'apple'}
# 创建空集合
# 注意:empty_set = {} 这样会创建一个空字典,不是空集合
empty_set = set()
print(empty_set) # 输出: set()
2. 使用set()函数创建集合
代码语言:javascript代码运行次数:0运行复制# 从列表创建集合
numbers = set([1, 2, 3, 3, 4, 4, 5])
print(numbers) # 输出: {1, 2, 3, 4, 5}
# 从字符串创建集合
chars = set('hello')
print(chars) # 输出: {'h', 'e', 'l', 'o'}
# 从元组创建集合
tuple_set = set((1, 2, 3))
print(tuple_set) # 输出: {1, 2, 3}
集合的基本特性演示
1. 元素唯一性
代码语言:javascript代码运行次数:0运行复制# 重复元素会被自动去除
numbers = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4}
print(numbers) # 输出: {1, 2, 3, 4}
2. 不可变元素要求
代码语言:javascript代码运行次数:0运行复制# 正确:使用不可变类型
valid_set = {1, 'hello', (1, 2)}
print(valid_set)
# 错误:使用可变类型(会报错)
# invalid_set = {1, [2, 3], {4, 5}} # TypeError: unhashable type: 'list'
3. 集合元素的类型检查
代码语言:javascript代码运行次数:0运行复制mixed_set = {1, 'hello', 3.14, (1, 2)}
for item in mixed_set:
print(f"元素 {item} 的类型是: {type(item)}")
实用技巧
1. 快速去重
代码语言:javascript代码运行次数:0运行复制# 使用集合去除列表中的重复元素
original_list = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
unique_list = list(set(original_list))
print(unique_list) # 输出: [1, 2, 3, 4]
2. 判断元素是否在集合中
代码语言:javascript代码运行次数:0运行复制fruits = {'apple', 'banana', 'orange'}
# 使用 in 关键字
print('apple' in fruits) # 输出: True
print('grape' in fruits) # 输出: False
# 使用 not in 关键字
print('grape' not in fruits) # 输出: True
3. 获取集合的长度
代码语言:javascript代码运行次数:0运行复制fruits = {'apple', 'banana', 'orange'}
print(len(fruits)) # 输出: 3
注意事项
- 集合是无序的,不要依赖元素的顺序
- 集合中的元素必须是不可变的(hashable)
- 创建空集合必须使用set(),而不是{}
- 集合适合用于去重和成员资格测试
实际应用场景
1. 数据去重
代码语言:javascript代码运行次数:0运行复制# 去除列表中的重复元素
user_ids = [101, 102, 101, 103, 102, 104]
unique_ids = list(set(user_ids))
print(f"原始ID列表: {user_ids}")
print(f"去重后的ID列表: {unique_ids}")
2. 标签系统
代码语言:javascript代码运行次数:0运行复制# 用户标签管理
user1_tags = {'python', 'java', 'web'}
user2_tags = {'python', 'javascript', 'html'}
# 查找共同标签
common_tags = user1_tags & user2_tags
print(f"共同的标签: {common_tags}")
3. 数据过滤
代码语言:javascript代码运行次数:0运行复制# 过滤掉不需要的数据
all_fruits = {'apple', 'banana', 'orange', 'grape', 'kiwi'}
excluded_fruits = {'banana', 'kiwi'}
available_fruits = all_fruits - excluded_fruits
print(f"可用的水果: {available_fruits}")
这个教程涵盖了Python集合的基础知识,从创建到基本使用,再到实际应用场景。通过这些示例,你应该能够理解集合的核心概念并开始在你的代码中使用它们。在下一个教程中,我们将深入探讨集合的基本操作,包括添加、删除和修改元素等操作。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-04-02,如有侵权请联系 cloudcommunity@tencent 删除pythonset集合教程索引