Python 中set(集合)的介绍

一.集合的定义

1.集合是无序的没有下标,集合中元素不能重复。

s = {1, 2, 3, 4}

ss = set(1, 2, 3, 4)

注意:使用{}种方式定义集合时,不要定义空集合(不然默认为dict)

二. 集合中元素的访问

集合中元素的访问

set[]                                          #从0开始的下标

三.集合的功能

1.add

add(self, *args, **kwargs):将元素添加到集合中。如果元素已存在,则这不起作用。

set_data = {1, 2, 3, 4}
set_data.add(5)
print(set_data)

2.clear

clear(self, *args, **kwargs): 清空列表。
set_data = {1, 2, 3, 4}
set_data.clear()
print(set_data)

3.copy

copy(self, *args, **kwargs):浅拷贝集合
set_data = {1, 2, 3, 4}
set_data.copy()
print(set_data)

 4.pop

pop(self, *args, **kwargs):随机移除元素,如果为空则抛出异常。
set_data = {1, 2, 3, 4}
set_data.pop()
print(set_data)

5.remove

remove(self, *args, **kwargs):删除对应元素如果为空则抛出异常。
set_data = {1, 2, 3, 4}
set_data.remove(2)
print(set_data)

6.discard

discard(self, *args, **kwargs):删除对应元素如果为空则不抛出异常。
set_data = {1, 2, 3, 4}
set_data.discard(4)
print(set_data)

7.intersection and intersection_update

intersection(self, *args, **kwargs):将两个集合的交集作为新集合返回。
set_data = {1, 2, 3, 4}
set_data1 = {4, 5, 6, 7}
print(set_data.intersection(set_data1))
intersection_update(self, *args, **kwargs):用自身和另一个集合的交集更新一个集合。
set_data = {1, 2, 3, 4}
set_data1 = {4, 5, 6, 7}
print(set_data.intersection_update(set_data1))
print(set_data)

8.difference and difference-date

 difference(self, *args, **kwargs):将两个或多个集合的差值作为新集合返回。即此集合中的所有元素,而不是其他元素。
set_data = {1, 2, 3, 4}
set_data1 = {4, 5, 6, 7}
print(set_data.difference(set_data1))
difference_update(self, *args, **kwargs):从此集合中删除另一个集合的所有元素。
set_data = {1, 2, 3, 4}
set_data1 = {4, 5, 6, 7}
print(set_data.difference_update(set_data1))
print(set_data)

9. union

union(self, *args, **kwargs):将集合的并集作为新集合返回。
set_data = {1, 2, 3, 4}
set_data1 = {4, 5, 6, 7}
print(set_data.union(set_data1))

10.update

update(self, *args, **kwargs):用自身和其他集合的并集更新集合。
set_data = {1, 2, 3, 4}
set_data1 = {4, 5, 6, 7}
print(set_data.update(set_data1))
print(set_data)

 11.isdisjoint

isdisjoint(self, *args, **kwargs):如果两个集合具有空交集,则返回 True。
set_data = {1, 2, 3, 4}
set_data1 = {4, 5, 6, 7}
print(set_data.isdisjoint(set_data1))
set_data2 = {1, 2, 3}
set_data3 = {4, 5, 6}
print(set_data2.isdisjoint(set_data3))

12.issubest 

issubset(self, *args, **kwargs):报告另一个集是否包含此集。
set_data = {1, 2, 3, 4}
set_data1 = {4, 5, 6, 7}
print(set_data.issubset(set_data1))
set_data2 = {1, 2, 3}
set_data3 = {1, 2, 3}
print(set_data2.issubset(set_data3))

13.issuperset

 issuperset(self, *args, **kwargs):报告此集是否包含另一个集。

set_data = {1, 2, 3, 4}
set_data1 = {4, 5, 6, 7}
print(set_data.issuperset(set_data1))
set_data2 = {1, 2, 3}
set_data3 = {1, 2, 3}
print(set_data2.issuperset(set_data3))

14.symmetric_difference and symmetric_difference_update

symmetric_difference(self, *args, **kwargs):将两个集合的对称差值作为新集合返回。即恰好位于其中一个集合中的所有元素。
set_data = {1, 2, 3, 4}
set_data1 = {4, 5, 6, 7}
print(set_data.symmetric_difference(set_data1))
print(set_data)
symmetric_difference_update(self, *args, **kwargs):使用自身和另一个的对称差异更新集合。
set_data = {1, 2, 3, 4}
set_data1 = {4, 5, 6, 7}
print(set_data.symmetric_difference_update(set_data1))
print(set_data)

拓展

去重:

list_data = [1, 2, 2, 3, 4, 5]          #列表中元素可以重复
set_data = set(list_data)               #去重
list_data = set_data                    #将去重后的set转换成list
print(list_data)                        #打印去重后的list
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值