python中的元组和集合

一、元组
元组的属性:有序不可改,可以通过下标获取元素
1、元祖命名可以用(),只有一个元素的时候要加逗号
1
2
3
4
5
6
7
8
9
10
11
L3=()
L2=(1,)
L1=(1)
print(type(L3))
print(type(L2))
print(type(L1))
 
 
<class 'tuple'>
<class 'tuple'>
<class 'int'>

  

2、有序可以通过下标获取元素,且可以循环:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
yuanzu=('test',1,12,12.22)
print(yuanzu[0])
# test
 
print(yuanzu[-1])
# 12.22
 
 
for i in yuanzu:
    print(i)
# test
# 1
# 12
# 12.22

  


3、可用的方法如下:
1
2
3
4
5
L2=('test',1,12,12.22,1)
print(L2.count(1)) #获取元素出现的次数
2
print(L2.index('test')) #获取元素对应的下标
0

  

二、集合
#集合天生可以去重
#集合是无序的
1、集合的命名,空集合不可以用{}
1
2
s2 = set() #空集合
s = {1,2,3,4,5,6,7,7,7,6,6,1,1} #集合

  

2、常用的方法
1)强转为set
1
2
3
4
l = [1,2,3,4,5,6,7,7,7,6,6,1,1]
l = set(l)
print(l)
{1, 2, 3, 4, 5, 6, 7}

  


2)添加元素
1
2
3
4
s = {1,2,3,4,5,6,7,7,7,6,6,1,1} #集合
s.add(8) #添加元素
print(s)
{1, 2, 3, 4, 5, 6, 7, 8}

  


3)将一个集合添加到另一个集合中
1
2
3
4
s = {1,2,3,4,5,6,7,7,7,6,6,1,1} #集合
s.update({'MLing',11,100}) #把另外一个集合加入这个集合里面
print(s)
{1, 2, 3, 4, 5, 6, 7, 'MLing', 100, 11}

  


4)删除指定的元素
1
2
3
4
stu={1, 2, 3, 4, 5, 6, 7, 'MLing', 100, 11}
stu.remove(4) #删除指定的元素
print(stu)
{1, 2, 3, 5, 6, 7, 100, 11, 'MLing'}

  


3.关系方法:
关系测试,交集、并集、差集、对称差集
1)取交集:都存在的
1
2
3
4
5
6
7
8
9
l1 = range(0,11) #学了自动化的学生
l2 = [2,4,5,6] #学性能的学生
l1 = set(l1)
l2 = set(l2)
print(l1 & l2) #取交集,就是两个集合里面相同的元素
print(l1.intersection(l2))
 
{2, 4, 5, 6}
{2, 4, 5, 6}

  

2)取并集

1
2
3
4
5
6
7
8
9
l1 = range(0,11) #学了自动化的学生
l2 = [2,4,5,6] #学性能的学生
l1 = set(l1)
l2 = set(l2)
print(l1.union(l2)) #并集,就是把两个集合合并到一起
print(l1 | l2)
 
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

  

3)取差集

1
2
3
4
5
6
7
8
9
l1 = range(0,11) #学了自动化的学生
l2 = [2,4,5,6] #学性能的学生
l1 = set(l1)
l2 = set(l2)
print(l1 - l2 )#差集,在a集合里面存在,在b集合里面不存的
print(l1.difference(l2))
 
{0, 1, 3, 7, 8, 9, 10}
{0, 1, 3, 7, 8, 9, 10}

  

4)对称差集
1
2
3
4
5
6
7
8
9
l1 = range(0,11) #学了自动化的学生
l2 = [2,4,5,6] #学性能的学生
l1 = set(l1)
l2 = set(l2)
print(l1 ^ l2) #对称差集,把a集合和b集合里面相同的元素去掉,剩下的
print(l1.symmetric_difference(l2))
 
{0, 1, 3, 7, 8, 9, 10}
{0, 1, 3, 7, 8, 9, 10}

  

5)判断子集和父集

1
2
3
4
5
6
7
8
9
l1 = range(0,11) #学了自动化的学生
l2 = [2,4,5,6] #学性能的学生
l1 = set(l1)
l2 = set(l2)
print(l1.issuperset(l2)) #判断a集合是不是b集合的父集
print(l2.issubset(l1)) #判断a集合是不是b集合的子集
 
True
True

  

 


posted @   MLing  阅读(2007)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示