Python基础-集合

Python基础-集合

1.定义及特点

  • 集合(set)是一个无序的不重复元素序列。用{}单元素或者set()创建,用来完成去重(将列表---->集合,自动去重),关系测试等功能

  • 特点:

    • 无序
    • 不可重复
    • 不可更改
    • 内部元素可哈希,本身不可哈希

2.集合的基础操作

2.1集合的创建

  • 空集合创建
st=set()
print(type(st))

'<class 'set'>'
  • 多元素集合:注意其元素为不可变元素,
st=(1,2,3,'a',{'a':'x'})
print(type(st))

'<class 'tuple'>'
  • 强制转换
li=[123,'qwer','lol']
st=set(li)
st,print(type(st))# tips 用,链接返回一个元组

sr='hello'
st1=set(sr)
print(st1)
st2=set(sr)
print(st2)

dic={'a':1,'b':'x',}
st=set(dic)
print(st)

'''
<class 'tuple'>
{'h', 'e', 'l', 'o'} #两个l值有一个在集合中显示,去重功能
{'h', 'e', 'l', 'o'}
{'a', 'b'}

'''

2.2增加元素

  • set.add()

    se={'a','w','c',1}
    se.add('s')
    print(se)
    '{'w', 1, 's', 'c', 'a'}'  # 每次运行结果不同,因为无序
    
  • set.update()

2.3删除元素

  • set.pop()

    删除排序最小的一个元素

    se={'a','w','c',1}
    se.pop()
    print(se)
    
    '{'a', 'w', 1}'
    
  • set.discard()

    移出元素,不存在,不会报错

    se={'a','w','c',1}
    se.discard('a')
    print(se)
    se.discard('a')
    print(se)
    
    '{'c', 'w', 1}'
    
  • set.remove()

    移除元素,不存在会报错

    se={'a','w','c',1}
    se.remove('a')
    print(se)
    se.remove('a')
    print(se)
    
    '''  se.remove('a')
    KeyError: 'a''''
    
  • del set

    删除集合

  • set.clear()

    删除集合内的所有元素

    se={'a','w','c',1}
    se.clear()
    print(se)
    
    '{}'
    

2.4改变元素(无法实现)

2.5查询元素(无法实现)

2.6遍历

  • 元素遍历
se = {'a', 'w', 'c', 1}
for i in se:
    print(i,end=' ')
    
 'c w 1 a '
  • 枚举遍历
se = {'a', 'w', 'c', 1}
for i in enumerate(se):
    print(i)
    
'''
(0, 'c')
(1, 1)
(2, 'a')
(3, 'w')
'''

2.7集合的基本运算

  • 包含
a=set('abcde')
b=set('abc')
c=set('a')
print(a,b,c)
print(c<a)
print(b<c)

'''
{'e', 'b', 'c', 'a', 'd'} {'a', 'b', 'c'} {'a'}
True
False
'''
  • 交集

    • &
    • set.intersection()
    a=set('abcde')
    b=set('abc')
    c=set('a')
    print(a&b)
    print(a.intersection(c))
    
    '''
    {'a', 'b', 'c'}
    {'a'}
    '''
    
  • 并集

    • |
    • set.union()
    a=set('abcde')
    b=set('abe')
    c=set('e')
    print(a|b)
    print(a.union(c))
    '''
    {'a', 'b', 'c', 'd', 'e'}
    {'a', 'b', 'c', 'd', 'e'}
    '''
    
  • 差集

    • -
    • set.difference()
    a=set('abcde')
    b=set('abe')
    c=set('e')
    print(a-b)
    print(a.difference(c))
    
    '''
    {'c', 'd'}
    {'b', 'c', 'a', 'd'}
    '''
    
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值