python集合的元素可以是元组_python中的元组和集合

一、元组

元组的属性:有序不可改,可以通过下标获取元素

1、元祖命名可以用(),只有一个元素的时候要加逗号

L3=()

L2=(1,)

L1=(1)

print(type(L3))

print(type(L2))

print(type(L1))

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

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、可用的方法如下:

L2=('test',1,12,12.22,1)

print(L2.count(1)) #获取元素出现的次数

2

print(L2.index('test')) #获取元素对应的下标

0

二、集合

#集合天生可以去重

#集合是无序的

1、集合的命名,空集合不可以用{}

s2 = set() #空集合

s = {1,2,3,4,5,6,7,7,7,6,6,1,1} #集合

2、常用的方法

1)强转为set

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)添加元素

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)将一个集合添加到另一个集合中

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)删除指定的元素

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)取交集:都存在的

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)取并集

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)取差集

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)对称差集

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)判断子集和父集

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值