Python3集合Set详解:创建、操作与固定集合指南

远山来客
远山来客
发布时间:2026-10-15| 6人浏览过
原创

本文详解Python3中集合set的定义、创建方法及基础操作,包括添加、删除元素。深入解析集合间的交集、并集、补集等数学运算,并通过示例展示如何获取所有元素。此外,介绍不可变的固定集合frozenset及其作为字典键或集合值的应用场景,帮助开发者掌握Python数据结构的核心用法。

集合set

1.集合定义

集合是由一系列不可重复且不可变的变量组成的可变映射容器。

从结构上看,集合相当于一个只有键而没有值的字典,其中键即为集合中的数据元素。

2.集合基础操作

1.创建空集合:

使用 set() 函数创建空集合,例如: 集合名 = set()

也可以通过传入可迭代对象来创建集合,例如: 集合名 = set(可迭代对象)


set01 = set()
set01 = set("abcd")

2.创建具有默认值的集合:

可以直接使用花括号定义包含初始值的集合,例如: 集合名 = {1, 2, 3} 或者通过 set() 函数传入可迭代对象生成: 集合名 = set(可迭代对象)


set01 = set("abcac")
list01 = (list(set01))
str01 = "".join(set01)
print(str01)

输出结果
abc

3.添加元素:

使用 add() 方法向集合中添加单个元素,语法为: 集合名.add(元素)


set02.add("qtx")

4.删除元素:

在Python中,可以使用 discard() 方法安全地删除元素,若元素不存在则不会报错。

具体语法为: 集合名.discard(元素)


set02.remove("a")

5.获取所有元素:


for item in set02:
    print(item)

6.数学运算

交集


set01 = {1,2,3}
set02 = {2,3,4}
print(set01 & set02) #{2,3}

并集


set01 = {1,2,3}
set02 = {2,3,4}
print(set01 | set02) #{1,2,3,4}

补集


set01 = {1,2,3}
set02 = {2,3,4}
print(set01 ^ set02) #{1,4}
print(set01 - set02) #{1}
print(set02 - set01) #{4}

子集


set01 = {1,2,3}
set03 = {1,2}
print(set03 < set01) # True

超集


set01 = {1,2,3}
set03 = {1,2}
print(set0 > set03) # True

练习1:

在控制台循环录入字符串,当输入空字符时停止,并打印所有不重复的文字。


set_result = set()
while True:
    str_input = input("请输入:")
    if str_input == " ":
        break
    set_result.add(str_input)
print(set_result)

输出结果
请输入:q
请输入:w
请输入:e
请输入:r
请输入:t
请输入:g
请输入: 
{'', 'q', 'r', 'g', 'e', 'w', 't'}

固定集合

1.定义


set01 = frozenset([1,2,3,4,5])
list02 = list(set01)
print(set01)
print(list01)

固定集合是不可变的集合类型。

2.作用

固定集合的主要用途是作为字典的键,或者作为其他集合的值,因为它具有不可变性。

基础操作

创建固定集合需使用 frozenset() 函数传入可迭代对象,例如: frozenset(可迭代对象) 其运算方式与普通集合一致。

到此这篇关于python3基础之集合set详解的文章就介绍到这了,更多相关python3集合set内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。