自学python_8 集合

集合set:无序的不重复的元素定义。

集合的定义:

list1 = [1,2,5,4,1]
s1 = set(list1)
s2 = {}
print(type(s1),type(s2))
# <class 'set'> <class 'dict'>
print(s1)
# {1, 2, 4, 5}

定义集合只能用set(),如果用{}的话就会定义成字典形式,但是打印集合的时候显示的是{},集合会自动将其中的内容去重,如果有数字,也会将数字排序。
集合的增加:

s1.add(6)
s1.add(3)
print(s1)
# {1, 2, 3, 4, 5, 6}

添加一个元素,并且会自动排序。

list1 = [1,2,5,4,1]
t1 = (7,8,9)
s1 = set(list1)
s1.add(t1)
print(s1)
s1.update(t1)
print(s1)

update可以添加列表元组,把里面的项拆开然后加进来,add只能把元组或列表以添加进来。

删除:

list1 = [1,2,5,4,1]
s1 = set(list1)
s1.remove(2)
print(s1)
# {1, 4, 5}
s1.remove(3)
print(s1)
# KeyError: 3

remove删除集合中的元素,没有返回值,元素不在集合中的话返回KeyError。

list1 = [1,2,5,4,1]
s1 = set(list1)
print(s1)
# {1, 2, 4, 5}
s1.pop()
print(s1)
# {2, 4, 5}
s1.pop()
print(s1)
# {4, 5}
print(s1.pop())
# 4

pop删除时会返回第一个元素,并且删除。

clear清空元素。

list1 = [1,2,5,4,1]
s1 = set(list1)
s1.discard(2)
s1.discard(3)
print(s1)

discard删除元素时,返回值为空,并且如果元素不在集合中也不会报错。

其他符号操作:
集合不支持 + * 运算。
“ in ” 表示把某个元素有没有在集合中。
“ == ”表示判断两个集合的内容是否相等。
“!=”表示判断两个集合内容是否有区别。
并交差集:

set1 = set()
set2 = set()
set1 = {1,2,3,4,5}
set2 = {4,5,7}
set3 = set1 - set2
# 相当于 set3 = set1.difference(set2)
print(set3)
# {1, 2, 3}

“ - ”差集运算,相当于 difference()

set3 = set1 & set2
# 相当于 set3 = set1.intersection(set2)
print(set3)
# {4, 5}

“&” 符号表示求两个集合的交集。

set3 = set1 | set2
# 相当于set3 = set1.union(set2)
print(set3)
# {1, 2, 3, 4, 5, 7}

" | "在集合中表示求两个集合的并。

set3 = set1 ^ set2
# 相当于set3 = set1.symmetric_difference(set2)
print(set3)
# {1, 2, 3, 7}

" ^ " 表示求两个集合的对称差集,并集 - 交集。

set1.difference_update(set2)
print(set1)
# {1, 2, 3}

update 的作用是不用在赋值给新的值,而是把得到的结果付给调用这个函数的变量,可以用在上面写的操作,但是必须用英文的表示形式,而不是符号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值