百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

python集合set() 数据增册改查统计序循常用方法和数学计算

liuian 2025-09-29 07:21 75 浏览

  1. 概念
  2. 特点
  3. 定义和创建
  4. 常用操作
  5. 集合间的关系
  6. 集合数学操作
  7. 集合生成式
  8. 遍历

概念:

可变、无序、不重复的序列数据容器

特点:

  • 无序,不支持下标
  • 唯一性,可以删除重复数据
  • 可修改

定义和创建

赋值法:

语法:s = { x , ... , }大括号,逗号分隔

示例:

s = {1,2,3,4,5}
print(s,type(s))
# {1, 2, 3, 4, 5} <class 'set'>

函数法:

语法:set ( 列表 )

示例:

s = set([1,2,3,4,5]) # 列表
print(s,type(s))
s = set((1,2,3,4,5)) # 元组
print(s,type(s))
s = set({1, 2, 3, 4, 5}) # 集合
print(s,type(s))
s = set('python') # 字符
# {'n', 'o', 'y', 'h', 'p', 't'} <class 'set'>
print(s,type(s))
s = set('12345') # 字符
print(s,type(s))
s = set(range(1,6)) # 范围
print(s,type(s))
# {1, 2, 3, 4, 5} <class 'set'>
s = set({'a':1,'b':2,'c':3,'d':4}) # 字典
print(s,type(s))
# {'c', 'd', 'b', 'a'} <class 'set'>

空集合:set( )

注意:

s = {} # 这是空字典
print(s,type(s)) 
# {} <class 'dict'>

常用操作:

增:

. add(元素)

功能:添加单个元素

语法:集合 . add ( 元素 )

示例:

my_set = {1,1,2,2,3,3}
my_set.add(4)
print(my_set)    # {1, 2, 3, 4} 如果有这个元素,则不做改变

. update( )

功能:添加多个元素

语法:集合 . update ( x )

x:字符串 / 列表 / 元组 / 集合

示例:

列表

s = {3, 2, 4, 1, 5, 2, 3}
s.update([100,200,300])
print(s)     #  {1, 2, 3, 4, 5, 100, 200, 300}

元组

s = {3, 2, 4, 1, 5, 2, 3}
s.update((100,200,300))
print(s)    # {1, 2, 3, 4, 5, 100, 200, 300}

集合

s = {3, 2, 4, 1, 5, 2, 3}
s.update({100, 200, 300})
print(s)   # {1, 2, 3, 4, 5, 100, 200, 300}

字符串

s = {3, 2, 4, 1, 5, 2, 3}
s.update('aabb')
print(s)    # {1, 2, 3, 4, 5, 'a', 'b'}

. copy( )

功能:浅拷贝

语法:集合名 . set ( )

示例:

s = set([1,2,3,4,5]) # 列表
s1 = s.copy()
print(s)				 # {1, 2, 3, 4, 5}
print(s1) 			# {1, 2, 3, 4, 5}

册:

. remove( 元素)

功能:删除一个指定元素,没有:出错

语法:集合 . remove (元素)

示例:

my_set = {1,1,2,2,3,3}
my_set.remove(3)
print(my_set)    # {1, 2}

. discard( )

功能:删除一个指定元素,没有:不出错

语法:集合 . discard( x )

示例:

s = {3, 2, 4, 1, 5, 2, 3}
s.discard(5)
print(s)    # {1, 2, 3, 4}

. pop( )

功能:随机取出一个元素,返回取出值

语法:集合 . pop ( )

示例:

my_set = {3,1,2,2,1,3}
print(my_set.pop())    # 1
print(my_set)            # {2, 3}

. clear ( )

功能:清空集合

语法:. clear( )

示例:

my_set = {1,1,3,4,5,2,2,3}
my_set.clear( )
print(my_set)    # set( )  返回的是一个空集合

del set()

功能:删除集合对象

语法:del set()

示例:

s = set('abcd')
del s

. difference_update(集合2)

功能:原位:在集合1里删除与集合2相同的元素,原位删除共有元素

语法:集合1. difference_update(集合2)

示例:

my_set1 = {1,2,3,4,5}
my_set2 = {4,5,6,7,8}
my_set1.difference_update(my_set2)
print(my_set1)         # {1, 2, 3}
print(my_set2)         # {4, 5, 6, 7, 8} 在原位删除:4 ,5 两个共有的元素

改:

查:

any( s )

功能:判断元素是否有1个为真,返回True , 否则:False

语法:any( s )

示例:

s = set([1,2,3])
print(any(s))    #True
s = set([0,0,3])
print(any(s))    # True
s = set([0,0,0])
print(any(s))    # False

all( s )

功能:判断元素是否全为真,返回True , 否则:False

语法:any( s )

示例:

s = set([1,2,3])
print(all(s))    # True
s = set([1,2,0])
print(all(s))    #False
s = set([0,0,0])
print(all(s))    # False

计:

len(x)

功能:计算集合元素个数

语法:len(集合)

示例:

s1 = {10,20,30,40}
print(len(s1))  # 4
s1 = {10,20,30,40,20,30}
print(len(s1))  # 4

max(s) :最大

min(s) :最小

序:

sorted( s )

功能:排序后,变成列表。

语法:sorted( s )

示例:

s = set('python')
print(s)               # {'y', 'n', 'o', 'h', 'p', 't'}
print(sorted(s))  # ['h', 'n', 'o', 'p', 't', 'y']

集合间的关系:

in 或 not in

功能:成员关系判断,in( ) 在,not in() 不在

示例:

s = set('python')
print('p'in s)         # True
s = set('python')
print('p'not in s)    #False

== (!=)

功能:判断:相等和不相等

示例:

s1 = {10,20,30,40}
s2 = {20,30,40,10}
print(s1==s2)    # True
print(s1!=s2)     # False

判断:是否子集 <=

语法:

  • 集合1 . issubset ( 集合2 ),判断集合1 是集合2 的子集
  • s1 <= s2

示例:

s1 = {10,20,30,40}
s2 = {20,30,40,10,50}
print(s1 <= s2) 					# s1是s2的子集:True
print(s1.issubset(s2))  # s1是s2的子集:True

判断:真子集 <

语法:s1 < s2

示例:

s1 = {10,20,30,40}
s2 = {20,30,40,10,50}
print(s1 < s2) 				# s1是s2的真子集:True
s1 = {10,20,30,40}
s2 = {20,30,40,10}
print(s1 < s2) 				# s1是s2的真子集:False

判断:是否超集 >=

语法:集合1 . issuperset ( 集合2 ),判断集合1 是集合2 的超集

示例:

s1 = {10,20,30,40}
s2 = {20,30,40,10}
print(s1 >= s2) 						# s1是s2的超集:True
print(s1.issuperset(s2)) # s1是s2的超集:True

判断:真超集 >

示例:

s1 = {10,20,30,40,50}
s2 = {20,30,40,10}
print(s1 > s2) 				# s1是s2的超集:True

判断:是否有交集

语法:集合1 . .isdisjoint ( 集合2 ),没有交集为:True

示例:

s1 = {10,20,30,40}
s2 = {20,30,40,50}
s3 = {'a','b','c'}
print(s1.isdisjoint(s2))			 # False
print(s1.isdisjoint(s3)) 			 # True

集合数学操作:

交集:&

语法:

  • 集合1 . intersection( 集合2 )
  • 集合1 & 集合2

示例:

s1 = {10,20,30,40}
s2 = {20,30,40,50}
print(s1.intersection(s2))     # {40, 20, 30}
print(s2.intersection(s1))     # {40, 20, 30}
print(s2 & s1) 										  # {40, 20, 30}

并集:|

功能:返回两个集合的并集

语法:

  • 集合1.union(集合2)
  • 集合1 | 集合2

示例:

s1 = {10,20,30,40}
s2 = {20,30,40,50}
print(s1.union(s2)) # {40, 10, 50, 20, 30}
print(s1 | s2)          # {40, 10, 50, 20, 30}
print(s2 | s1)          # {40, 10, 50, 20, 30}

差集:-

功能:返回两个集合的差集(集合1有,集合2 没有的元素)

语法:

集合1 . differnece (集合2)
集合1 - 集合2

示例:

s1 = {10,20,30,40}
s2 = {20,30,40,50}
print(s1.difference(s2))     # {10}
print(s2.difference(s1))     # {50}
print(s1 - s2)                     # {10}
print(s2 - s1)                     # {50}

补集:^(对称差集)

功能 :去除两个集合的公共部分

语法集合1 ^ 集合2

示例:

my_set1 = {1,2,3,4,5}
my_set2 = {4,5,6,7,8}
print(my_set1 ^ my_set2)    # {1, 2, 3, 6, 7, 8}
print(my_set1)        # {1, 2, 3, 4, 5}
print(my_set2)        # {4, 5, 6, 7, 8}

集合生成式

功能:集合推导式,生成集合的公式

语法:{ i for i in range( 1, 6 ) }

示例:

集合推导式:

set1 = {i for i in range(1, 6)}
print(set1)            # {1, 2, 3, 4, 5}
set1 = {i>3 for i in range(1, 6)}
print(set1)            # {False, True} 去除重复的

列表推导式:

list1 = [i for i in range(1,6)]
print(list1)              # [1, 2, 3, 4, 5]
list1 = [i>3 for i in range(1,6)]
print(list1)              # [False, False, False, True, True]

遍历:

不支持下标,不支持while循环

for 循环
my_set1 = {1,2,3,4,5}
for x in my_set1:
  print(x)
'''
  1
  2
  3
  4
  5
'''

添加集合:

my_list = [1,2,2,1,3,1,4,5,2,3,4]
my_set = set()
for i in my_list:
  my_set.add(i)
print(my_set)          # {1, 2, 3, 4, 5}

图示总结:

相关推荐

驱动网卡(怎么从新驱动网卡)
驱动网卡(怎么从新驱动网卡)

网卡一般是指为电脑主机提供有线无线网络功能的适配器。而网卡驱动指的就是电脑连接识别这些网卡型号的桥梁。网卡只有打上了网卡驱动才能正常使用。并不是说所有的网卡一插到电脑上面就能进行数据传输了,他都需要里面芯片组的驱动文件才能支持他进行数据传输...

2026-01-30 00:37 liuian

win10更新助手装系统(微软win10更新助手)

1、点击首页“系统升级”的按钮,给出弹框,告诉用户需要上传IMEI码才能使用升级服务。同时给出同意和取消按钮。华为手机助手2、点击同意,则进入到“系统升级”功能华为手机助手华为手机助手3、在检测界面,...

windows11专业版密钥最新(windows11专业版激活码永久)

 Windows11专业版的正版密钥,我们是对windows的激活所必备的工具。该密钥我们可以通过微软商城或者通过计算机的硬件供应商去购买获得。获得了windows11专业版的正版密钥后,我...

手机删过的软件恢复(手机删除过的软件怎么恢复)
手机删过的软件恢复(手机删除过的软件怎么恢复)

操作步骤:1、首先,我们需要先打开手机。然后在许多图标中找到带有[文件管理]文本的图标,然后单击“文件管理”进入页面。2、进入页面后,我们将在顶部看到一行文本:手机,最新信息,文档,视频,图片,音乐,收藏,最后是我们正在寻找的[更多],单击...

2026-01-29 23:55 liuian

一键ghost手动备份系统步骤(一键ghost 备份)

  步骤1、首先把装有一键GHOST装系统的U盘插在电脑上,然后打开电脑马上按F2或DEL键入BIOS界面,然后就选择BOOT打USDHDD模式选择好,然后按F10键保存,电脑就会马上重启。  步骤...

怎么创建局域网(怎么创建局域网打游戏)

  1、购买路由器一台。进入路由器把dhcp功能打开  2、购买一台交换机。从路由器lan端口拉出一条网线查到交换机的任意一个端口上。  3、两台以上电脑。从交换机任意端口拉出网线插到电脑上(电脑设置...

精灵驱动器官方下载(精灵驱动手机版下载)

是的。驱动精灵是一款集驱动管理和硬件检测于一体的、专业级的驱动管理和维护工具。驱动精灵为用户提供驱动备份、恢复、安装、删除、在线更新等实用功能。1、全新驱动精灵2012引擎,大幅提升硬件和驱动辨识能力...

一键还原系统步骤(一键还原系统有哪些)

1、首先需要下载安装一下Windows一键还原程序,在安装程序窗口中,点击“下一步”,弹出“用户许可协议”窗口,选择“我同意该许可协议的条款”,并点击“下一步”。  2、在弹出的“准备安装”窗口中,可...

电脑加速器哪个好(电脑加速器哪款好)

我认为pp加速器最好用,飞速土豆太懒,急速酷六根本不工作。pp加速器什么网页都加速,太任劳任怨了!以上是个人观点,具体性能请自己试。ps:我家电脑性能很好。迅游加速盒子是可以加速电脑的。因为有过之...

任何u盘都可以做启动盘吗(u盘必须做成启动盘才能装系统吗)

是的,需要注意,U盘的大小要在4G以上,最好是8G以上,因为启动盘里面需要装系统,内存小的话,不能用来安装系统。内存卡或者U盘或者移动硬盘都可以用来做启动盘安装系统。普通的U盘就可以,不过最好U盘...

u盘怎么恢复文件(u盘文件恢复的方法)

开360安全卫士,点击上面的“功能大全”。点击文件恢复然后点击“数据”下的“文件恢复”功能。选择驱动接着选择需要恢复的驱动,选择接入的U盘。点击开始扫描选好就点击中间的“开始扫描”,开始扫描U盘数据。...

系统虚拟内存太低怎么办(系统虚拟内存占用过高什么原因)

1.检查系统虚拟内存使用情况,如果发现有大量的空闲内存,可以尝试释放一些不必要的进程,以释放内存空间。2.如果系统虚拟内存使用率较高,可以尝试增加系统虚拟内存的大小,以便更多的应用程序可以使用更多...

剪贴板权限设置方法(剪贴板访问权限)
剪贴板权限设置方法(剪贴板访问权限)

1、首先打开iphone手机,触碰并按住单词或图像直到显示选择选项。2、其次,然后选取“拷贝”或“剪贴板”。3、勾选需要的“权限”,最后选择开启,即可完成苹果剪贴板权限设置。仅参考1.打开苹果手机设置按钮,点击【通用】。2.点击【键盘】,再...

2026-01-29 21:37 liuian

平板系统重装大师(平板重装win系统)

如果你的平板开不了机,但可以连接上电脑,那就能好办,楼主下载安装个平板刷机王到你的个人电脑上,然后连接你的平板,平板刷机王会自动识别你的平板,平板刷机王上有你平板的我刷机包,楼主点击下载一个,下载完成...

联想官网售后服务网点(联想官网售后服务热线)

联想3c服务中心是联想旗下的官方售后,是基于互联网O2O模式开发的全新服务平台。可以为终端用户提供多品牌手机、电脑以及其他3C类产品的维修、保养和保险服务。根据客户需求层次,联想服务针对个人及家庭客户...