Python中的集合(Java中的Set)

1.集合格式

集合名 = {元素1,元素2,元素3.....}

s1 = {1,2,3,4,5} #元素类型全是整型的时候,顺序固定
s2 = {'a','b','c','d','e',1,2,3} #集合具有无序性,每次运行结果都不一样
print(s1)
print(s2)

s3 = {} #这里是定义一个空的字典
print(s3,type(s3))

s4 = set() #这里是定义一个空的集合
print(s4,type(s4))

注意:集合是无序的,并且里面的元素是唯一的,所以集合一般用于元组或者列表的去重

2.集合无序性的实现方式涉及hash表(了解)

每次运行的结果不同,代表hash值在变化,所以其在hash表中的位置也就不同进而实现了集合的无序性,但是python中int整型的hash值就是它本身,所以它的hash值和顺序都不会变化。此外也正是因为有无序性,所以不能修改集合的值。

print(hash(1))
print(hash('a'))
print(hash('1'))

3.集合具有唯一性,所以可以自动去重 

s1 = {1,2,3,1,2}
print(s1)

 4.集合中常见的操作

(1)添加元素

  • add整体添加
s1 = {1,2,3}
print(s1)
s1.add(4)
print(s1)
s1.add(4) #集合中不允许有重复元素,重复元素会自动忽略
print(s1)
#s1.add(5,6) 不可以一次性添加多个元素

 

  • update把传入的元素先拆分,然后一个一个放入集合中
    s1 = {1,2,3}
    print(s1)
    s1.update([4,5,6])
    print(s1)
    s1.update((7,8,9))
    print(s1)
    s1.update({10,11,12})
    print(s1)
    s1.update("hello")
    print(s1)

(2) 删除元素

  • remove:选择删除的元素,如果没有该元素就报错
s1 = {1,2,3,4,5}
print(s1)
s1.remove(3)
print(s1)
#s1.remove(6) 删除集合中不存在的元素,会报错

  •  pop:默认将左边的第一个元素删除
    s1 = {'a','b','c','d','e'}
    print(s1)
    s1.pop()
    print(s1)
    #s1.pop() #删除集合中最后一个元素,并返回该元素

  • discard:选择要删除的元素,有就会删除,没有则不会发生任何改变,即不会进行任何操作

s1 = {1,2,3,4,5}
print(s1)
s1.discard(1)
print(s1)
s1.discard(6) #删除集合中不存在的元素,不会报错
print(s1)

5.集合的交集和并集

交集

并集

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
print(s1 & s2 ) #求两个集合的并集
print(s1 | s2 ) #求两个集合的并集

s3 = {1,2,3}
s4 = {4,5,6}
print(s3 & s4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值