第八章 元组和集合

第八章 元组和集合

元组

元组的创建

元组是不可变序列,存储是有序的

  1. 使用()
  2. 使用内置函数tuple()
t = (1,0,2,3)
t1 = tuple((1,2,3,4))
t2 = 1,2,3,4  # 可以省略小括号
t3 = (2,)  # 一个元组只要一个元素的时候,逗号不能省略

元组的遍历

使用 for … in …

t = (1,0,2,3)
for i in t:
	print(i)

集合

集合的创建

集合是可变序列,存储是无序的,并且不存在重复元素

  1. 使用{}
  2. 使用内置函数set()
  3. 使用集合生成式
s1 = {10,20,30}
s2 = set({10,20,30})
s3 = {i*i for i in range(10)}
s4 = set([10,20,30]) # 将列表转换成集合
s5 = set((10,20,30)) # 将元组转换成集合
s6 = set('python') # 将字符串转换成集合
s7 = set() # 生成一个空集合
s8 = {} # 生成的是空字典

集合的遍历

使用 for…in…

s1 = {10,20,30}
for i in s1:
	print(i)

集合的操作

  1. 对集合元素的操作:增删判断
s1 = {10,20,30}
# 新增
s1.add(40) # 新增一个元素 
s1.update({50,60,70}) # 新增至少一个元素,也可以是列表,元组
s1.update([50,60,70])
s1.update((50,60,70))
# 删除
s1.remove(10) # 删除指定元素,如果该元素不存在,则报错
s1.discard(10) # 删除指定元素,如果该元素不存在,不会报错
s1.pop()  # 随机删除一个元素
# 判断 in/ not in 
10 in s1 # True
10 not in s1 # False
  1. 对集合数据进行操作:判断集合的关系和求交集,并集,差集,对称差集
s1 = {10,20,30}
s2 = {20,30,10}
# 判断两个集合是否相等
s1 == s2 # True  元素的值相等,集合就相等

s1 = {10,20,30,40,50,60}
s2 = {20,30,10,40}
s3 = {10,20,90}
# 判断一个集合是否是另一个集合的子集
s2.issubset(s1) # True s2是s1的子集
s3.issubset(s1) # False s3不是s1的子集
# 判断一个集合是否是另一个集合的超集
s1.issuperset(s2) # True s1是s2的超集
s1.issuperset(s3) # False s1不是s3的超集
# 判断两个集合是否没有交集
s2.isdisjoint(s3) # False s2和s3有交集
s4={100,200}
s2.isdisjoint(s4) # True s2和s4没有交集

s1={10,20,30,40}
s2 = {10,50,30}
# 求交集
s1 & s2 
s1.intersection(s2)
# 求并集
s1 | s2
s1.union(s2)
# 求差集
s1-s2
s1.difference(s2)
# 求对称差集
s1^s2
s1.symmetric_difference(s2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值