集合

1、不同元素组成
2、无序
3、集合中元素必须是不可变类型(数字、字符串、元组)

s = set(‘hello’)
{‘o’, ‘h’, ‘e’, ‘l’}

s = set(["alex", "alex", "sb"])
print(s)
# {'alex', 'sb'}
add

给集合添加一个元素,只能添加一个,如果被添加的元素可遍历,会作为一个元素添加到集合,若需要循环添加到集合中请使用update

s = {1, 2, 3}
s.add('sb')
print(s)
# {1, 2, 3, 'sb'}
s = set(['alex', '2b', 'sb'])
s.add(('fool',' shazi', 'yaba'))
print(s)
# {('fool', ' shazi', 'yaba'), 'sb', 'alex', '2b'}
update

给集合一次添加多个值,将多个集合的并集union(|)重新赋值给当前集合,会改变当前集合。简单的求集合的并集并不会改变参与运算的集合

s = {'hello', 'hi'}
s1 = {'world', 'china'}
s.update(s1)
print(s)
# {'hello', 'world', 'china', 'hi'}
s.update('alex', '789')
print(s)
# {'a', 'x', '7', 'e', '8', 'hi', '9', 'china', 'hello', 'world', 'l'}
clear

清空集合

s = {1, 'v', 'vv7'}
s.clear()
print(s)
# set()
copy
s = {'copy', 'cut', 'delete'}
s1 = s.copy()
print(s1)
# {'cut', 'copy', 'delete'}
remove、discard删除元素

remove、discard没有返回值。被删除的元素如果不存在,remove会报错,discard不报。

s = {'wowo', 'jiji', 'bibi'}
s.remove('wowo')
print(s)
# {'bibi', 'jiji'}
s.discard('jiji')
print(s)
# {'bibi'}
pop

因为集合是无序的,所以无法制定索引。可以用remove、discard删除指定的集合元素。随机删除一个元素,并返回被删除的元素。如果被删除元素的集合是空则报错。

s = {'apple', 'banana', 'orange'}
v = s.pop()
print(v)
# banana
print(s)
# {'apple', 'orange'}
交集intersection

返回参与运算的集合公共元素,并不会改变参与运算的集合。

s = {'basketball', 'football', 'baseball', 'swim', 'run', 'bike', 'fish'}
s1 = {'football', 'swim', 'movie', 'book'}
print(s.intersection(s1))
print(s & s1)
# {'football', 'swim'}
intersection_update

求交集并把运算结果赋值给参与运算的集合,无返回值

s = {'hello', 'hi'}
s1 = {'world', 'china', 'hi'}
s.intersection_update(s1)
print(s)
# {'hi'}
isdisjoint

如果集合交集为空集合返回true,否则false。

s = {'hello', 'hi'}
s1 = {'world', 'china', 'hi'}
v =s.isdisjoint(s1)
print(v)
# False
s = {'hello', 'hi'}
s1 = {'world', 'china'}
v =s.isdisjoint(s1)
print(v)
# True
并集
s = {'basketball', 'football', 'baseball', 'swim', 'run', 'bike', 'fish'}
s1 = {'football', 'swim', 'movie', 'book'}
print(s.union(s1))
print(s | s1)
# {'swim', 'bike', 'baseball', 'book', 'movie', 'fish', 'basketball', 'football', 'run'}
差集
s = {'basketball', 'football', 'baseball', 'swim', 'run', 'bike', 'fish'}
s1 = {'football', 'swim', 'movie', 'book'}
print(s.difference(s1))
print(s - s1)
# {'fish', 'basketball', 'bike', 'run', 'baseball'}
print(s1.difference(s))
print(s1 - s)
# {'book', 'movie'}
difference_update

把集合运算的差集重新复制给参与运算的集合,会改变原集合。

s = {'hello', 'hi'}
s1 = {'world', 'china', 'hi'}
s.difference_update(s1)
print(s)
# {'hello'}
issubset

判断一个集合是否是另一个的子集,是返回true, 否则false。

s = {'hello', 'hi'}
s1 = {'hi'}
v =s1.issubset(s)
print(v)
# True
issuperset

判断一个集合是另一个的父集,是返回true否则false。

s = {'hello', 'hi'}
s1 = {'hi'}
v =s.issuperset(s1)
print(v)
# True
symmetric_difference
s = {'hello', 'hi'}
s1 = {'hi', 'world'}
v =s.symmetric_difference(s1)
print(v)
# {'hello', 'world'}
symmetric_difference_update
s = {'hello', 'hi'}
s1 = {'hi', 'world'}
s.symmetric_difference_update(s1)
print(s)
# {'hello', 'world'}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值