Python集合

集合

  • 无序
  • 不可更改
  • 不可重复
    • 内部的元素是可哈希的
    • 集合本身是不可哈希的
  • 用{}括起来的单元数据集

用途:

  • 去重(列表—>集合,字典去重)
  • 关系测试

集合的创建

空集合的创建

st = set()
print(st)
st = {}
print(type(st))

set()
<class 'dict'>

多元素集合的创建

st = {1, 2, 3, 4, 'a', 'b', 'c'}
print(type(st))

<class 'set'>
st = {1, 2, 3, 4, 'a', 'b', 'c',['a','b']}
print(type(st))

报错

强转

>>> li = ['city','college','zhejiang']
>>> st = set(li)
>>> st,type(st)
({'zhejiang', 'city', 'college'}, <class 'set'>)
>>> sr ='city'
>>> st = set(sr)
>>> st
{'y', 'i', 'c', 't'}
>>> sr = 'hello'
>>> st = set(sr)
>>> st
{'e', 'l', 'o', 'h'}
>>> dic ={'id':1111,'name':'xxx','age':1}
>>> st = set(dic)
>>> st
{'age', 'name', 'id'}
>>> li = list(dic)
>>> li
['id', 'name', 'age']

集合的基本操作

  • Set.add()
  • Set.update()

  • Set.pop() 删除排序最小的一个元素

    >>> st = {'a','b','c','d'}
    >>> st.pop()
    'd'
    >>> st = {'a','b','c','d',1,'ab'}
    >>> st.pop()
    'ab'
    
    
  • set.discard() 移除元素,不存在不会报错

  • >>> st = {'a','b','c','d',1,'ab'}
    >>> st.discard('a')
    >>> st
    {1, 'c', 'd', 'b'}
    >>> st.discard('aa')
    >>> 
    
  • set.remove()移除元素,不存在则报错

    >>> st = {'a','b','c','d',1,'ab'}
    >>> st.remove('a')
    >>> st
    {'ab', 1, 'c', 'd', 'b'}
    >>> st.remove('aa')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'aa'
    
  • Del set

不可改

不可查

遍历

>>> st = {'city','college','zhejiang'}
>>> for i in st:
...     print(i,end = " ")   
... 
zhejiang city college >>> 
zhejiang city college >>> 
>>> for i in enumerate(st):
...     print(i)
... 
(0, 'zhejiang')
(1, 'city')
(2, 'college')

集合的基本运算

子集

>>> a=set('abcd')
>>> b = set('efgh')
>>> c =set('ab')
>>> a,b,c
({'d', 'a', 'b', 'c'}, {'e', 'h', 'g', 'f'}, {'a', 'b'})
>>> 
>>> c<a
True
>>> a>c
True
>>> c<b
False

交集

&

set.intersection()

>>> a = set('abcd')
>>> b =set('cdef')
>>> c = set('ab')
>>> a&b
{'d', 'c'}
>>> a.intersection(b)
{'d', 'c'}

并集

\

Set.union()

>>> a = set('abcd')
>>> b =set('cdef')
>>> a|b
{'e', 'f', 'c', 'a', 'd', 'b'}
>>> a.union(b)
{'e', 'f', 'c', 'a', 'd', 'b'}

差集

Set,difference()

>>> a = set('abcd')
>>> b =set('cdef')
>>> a-b
{'a', 'b'}
>>> b-a
{'e', 'f'}
>>> a.difference(b)
{'a', 'b'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值