Python集合

目录

一、集合的创建

二、集合的相关操作

2.1 集合元素的判断

2.2 集合元素的增加

2.3 集合元素的删除

三、集合间的关系

四、集合的数据操作

五、集合生成式


集合

  • Python语言提供的内置数据结构
  • 与列表、字典一样都属于可变类型的序列
  • 相当于没有value的字典,元素不可重复,且其存储位置根据哈希函数计算,即 hash(iitem)=item

一、集合的创建

  • 使用花括号{}
  • 使用内置函数set()
'''使用{}创建集合'''
s={0,1,2,3,3,4,5,6,6,6}
print(s,type(s))
'''使用内置函数set()创建集合'''
s1=set(range(7))
print(s1,type(s1))
'''列表转换成集合'''
s2=set([0,1,2])
print(s2,type(s2))
'''元组转换成集合'''
s3=set((0,1,2))
print(s3,type(s3))
'''字符串序列转换成集合'''
s4=set('hello')
print(s4,type(s4))

运行结果

注意:集合元素无序

二、集合的相关操作

2.1 集合元素的判断

元素 in 集合名

元素 not in 集合名 

2.2 集合元素的增加

  • add():一次添加一个元素
  • update():一次添加至少一个元素
s={1,2,3}
print(s)

s.add(10)
print(s)

s.update({20,30})    # 添加集合元素
print(s)    
s.update([40,50])    # 添加列表元素
print(s)
s.update((60,70))    # 添加元组元素
print(s)

运行结果

 

2.3 集合元素的删除

  • remove():一次删除一个指定元素,若指定元素不存在抛出KeyError
  • discard():一次删除一个指定元素,若指定元素不存在不抛出异常
  • pop()(无参数)一次随机删除一个元素
  • clear():清空集合
s={1,2,3,4,5,6}
print(s)

s.remove(2)
print(s)

s.discard(1)
print(s)
s.discard(0)
print(s)

s.pop()   # 随机删除一个元素
print(s)

s.clear()
print(s)

运行结果

 

三、集合间的关系

  • 两个集合是否相等
    •  == 或 != 
  • 一个集合是否是另一个集合的子集
    • .issubset()
  • 一个集合是否是另一个集合的超集
    • .issuperset()
  • 两个集合是否没有交集
    • .isdisjoint()

四、集合的数据操作

  • 交集

    • .intersection()
    • &
  • 并集
    • .union()
    • |
  • 差集
    • .difference()
    • -
  • 对称差集
    • .symmetric_difference()
    • ^
s1={1,2,3,4,5,6}
s2={2,3,4,8,9}
print('集合A=',s1)
print('集合B=',s2)

print('A和B的交集:')
print(s1.intersection(s2))
print(s1 & s2)

print('A和B的并集:')
print(s1.union(s2))
print(s1 | s2)

print('A和B的差集:')
print(s1.difference(s2))
print(s1 - s2)

print('A和B的对称差集:')
print(s1.symmetric_difference(s2))
print(s1 ^ s2)

运行结果

 

五、集合生成式

{ 表示集合元素的表达式 for 自定义变量 in 可迭代对象 }

  • 将 {} 修改为 [] 就是列表生成式
  • 没有元组生成式
s={ i*i for i in range(1,10)}
print(s)

运行结果


Flag:我要成为一个日更选手:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值