admin管理员组

文章数量:1442339

09.Python set集合基础教程

Python set集合基础教程

什么是Python set集合?

set(集合)是Python中的一种基本数据类型,它是一个无序的、不重复元素的集合。集合中的元素必须是不可变的(hashable)类型,比如数字、字符串或元组。

集合的特点
  1. 无序性:集合中的元素没有固定的顺序
  2. 唯一性:集合中的元素都是唯一的,不会重复
  3. 可变性:集合是可变的,可以添加或删除元素
  4. 不支持索引:因为是无序的,所以不能通过索引访问元素

创建集合

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

注意事项

  1. 集合是无序的,不要依赖元素的顺序
  2. 集合中的元素必须是不可变的(hashable)
  3. 创建空集合必须使用set(),而不是{}
  4. 集合适合用于去重和成员资格测试

实际应用场景

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集合教程索引

本文标签: 09Python set集合基础教程