python学习28:python中的集合set

python中的集合set

1.集合的定义

集合set是不支持重复元素的,而且是无序的

和列表、元组、字符串等定义基本相同:

  1. 列表使用:[]
  2. 元组使用:()
  3. 字符串使用:""
  4. 集合使用:{}
    基本语法:
python 复制代码
"""
基本语法:
定义集合字面量:{元素,元素,....,元素}
定义集合变量:变量名称={元素,元素,....,元素}
定义空集合  变量名称=set()
"""

2.集合的常规操作

  1. 集合set定义:
python 复制代码
# 1.定义集合
my_set = {1, 2, 3, 4, 1, 2, 3, 1, 2, 3}
empty = set()
print(f'集合{my_set},类型是:{type(my_set)}')  # 集合{1, 2, 3, 4},类型是:<class 'set'>
print(f'集合{empty},类型是:{type(empty)}')  # 集合set(),类型是:<class 'set'>

2.添加新元素,语法:集合.add(元素)。将指定元素,添加到集合内

结果:集合本身被修改,添加了新元素

python 复制代码
# 添加元素
my_set = {'coco', 'xuanxuan'}
my_set.add('taotao')
print(f'集合添加新元素后变为:{my_set}')  # {'coco', 'xuanxuan', 'taotao'}

3.移除元素 语法:集合.remove(元素),将指定元素,从集合内移除;结果是本身被修改,移除了元素

python 复制代码
# 移除元素:remove
my_set = {1, 2, 3, 4}
my_set.remove(2)
print(f'移除元素2后,集合为:{my_set}')  # {1, 3, 4}

4.随机取出一个元素:语法:集合.pop(),从集合中随机取出一个元素

结果是:会得到一个元素的结果。同时集合本身被修改,元素被移除

python 复制代码
# 随机移除一个元素
my_set = {'hello', 'and', 'world'}
remove_element = my_set.pop()
# 随便移除的元素是:world,集合为:{'hello', 'and'}
print(f'随便移除的元素是:{remove_element},集合为:{my_set}')

5.清空集合:集合.clear() :就会把集合中的元素清空,得到空集合

6.取两个集合的差集;语法:集合1.difference(集合2):取出集合1和集合2的差集(集合1有而集合2没有的);结果是:得到一个新集合,集合1和集合2不变

python 复制代码
# 取两个集合的差集
set1 = {2, 4, 6}
set2 = {2, 8, 9}
set3 = set1.difference(set2)
print(set1)  # {2, 4, 6}  不变
print(set2)  # {8, 9, 2}  不变
print(set3)  # {4, 6}  得到新的集合

7.消除两个集合的差集;语法:集合1.difference_update(集合2)

功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素

结果是:集合1被修改,集合2不变

python 复制代码
# 消除2个集合的差集
set1 = {2, 4, 6}
set2 = {2, 8, 9}
set1.difference_update(set2)
print(set1)  # {4, 6}  集合1被修改
print(set2)  # {8, 9, 2}  集合2不变

8.2个集合合并为1个;语法:集合1.union(集合2);功能是:将集合1和集合2组成新的集合;结果是:得到新集合,集合1和集合2不变

python 复制代码
# 2个集合的合并
set1 = {2, 4, 6}
set2 = {2, 8, 9}
set3 = set1.union(set2)
print(set1)  # {2, 4, 6}  set1不变
print(set2)  # {2, 8, 9}  set2不变
print(set3)  # {2, 4, 6, 8, 9} 得到新集合

9.统计集合元素数量:使用len方法

python 复制代码
# 得到元素集合的数量
my_set = {1, 2, 3, 4, 5, 6}
num = len(my_set)
print(f'长度是{num}')  # 长度是6

10.集合的遍历:集合不支持下标索引,所以不能使用while循环;可以使用for循环

python 复制代码
# 使用for循环
set1 = {1, 2, 3, 4, 5, 6}
for i in set1:
    print(f'各个元素是:{i}')
"""
各个元素是:1
各个元素是:2
各个元素是:3
各个元素是:4
各个元素是:5
各个元素是:6
"""
相关推荐
巷北夜未央14 分钟前
Python每日一题(13)
开发语言·python·算法
I'mFAN27 分钟前
QT_xcb 问题
人工智能·python·opencv·计算机视觉
独好紫罗兰41 分钟前
洛谷题单3-P5720 【深基4.例4】一尺之棰-python-流程图重构
开发语言·python·算法
爱吃奶酪的松鼠丶1 小时前
.net GRPC服务搭建,跨进程调用。C#应用和Python应用之间的通信。
python·c#·.net
令狐少侠20111 小时前
Ubuntu 24.04.2 LTS 系统安装python,创建虚拟环境
linux·python·ubuntu
洛阳泰山1 小时前
PPTAgent:一款开源免费生成和评估幻灯片的项目
python·ai·llm·agent·ppt
zy_destiny1 小时前
【工业场景】用YOLOv12实现饮料类别识别
人工智能·python·深度学习·yolo·机器学习·计算机视觉·目标跟踪
Niuguangshuo2 小时前
Python设计模式:代理模式
开发语言·python·代理模式
www_pp_2 小时前
# 实时人脸识别系统:基于 OpenCV 和 Python 的实现
人工智能·python·opencv
带娃的IT创业者3 小时前
《Python实战进阶》No39:模型部署——TensorFlow Serving 与 ONNX
pytorch·python·tensorflow·持续部署