Python的集合(Set)

本文详细介绍了Python中集合的基本操作,包括创建、修改、获取长度、删除元素及集合的合并等。同时,深入探讨了集合的多种方法,如difference()、intersection()、symmetric_difference()等,帮助读者全面掌握集合的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自学Python的第六天,今天感觉学的东西不多,那就复习一下前几天的集合吧.

我们知道,list列表是[],元组是(),而集合想必就是{}了,一些基本的规则与前面的都差不太多,只是与前两个区别最大的是没有索引的,是无序的,所以你没法用下标索引的方式来访问元素 .

4.1集合的创建

用花括号创建呗

thisset = {"apple", "banana", "cherry"}

 4.2更改集合中的 元素

不能更改,不能更改,不过可以 添加新的元素,用add()方法来添加一个元素,用update()方法来添加一堆元素

thisset={1,2,3,4}

thisset.add(5)

thisset.update([77,22])

值得注意的是,集合里面的元素不能重复,也就是你如果往集合里面添加已有的元素,相当于无添加

4.3 获取集合长度

 老方法 len()了,不举例了

4.4删除元素或整个集合

如果是删除单个元素的话,可以用remove()方法或discard()方法或pop()方法,remove和discard的用法是一致的,就是删除指定元素 

thisset={1,2,3,4}

thisset.remove(1)

thisset.discard(2)

而pop()方法是删除最后一个元素,由于集合set是无序的,所以你不知道删掉了哪一个

thisset.pop() 

 如果你想清空一整个集合,可以用clear()方法

thisset.clear() 

 如果你想删掉这个集合,就用del关键字

del thisset

4.5集合的合并

集合无法通过+号来实现两个集合的相加,但是可以使用union()方法来实现相加,例如

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)

也可以用update()方法来把一个集合的元素添加到另外的集合中去

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)

  4.6 集合set的方法

接下来来介绍集合的方法,集合的方法比较,而且使用频率也挺高

(1) copy()方法

顾名思义,就是复制方法

(2)difference()方法

用法为set1.difference(set2),其作用是返回存在于set1而不存在set2中的元素,例如

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = x.difference(y)

(3) difference_update()方法

用法是set1.sifference_update(),作用是删除set1中set1与set2共同存在的元素

set1={1,2,3,4}
set2={2,22,12,33}
set1.difference_update(set2)

(4) intersection()方法

与difference()方法刚好相反,intersection()方法返回两个集合共同存在的元素

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = x.intersection(y) 

(5) intersection_update()方法

这个方法是删除存在于set1中而不存在set2中的元素

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
x.intersection_update(y) 

(6) isdisjoint()方法

该方法用来检测两个集合是否有交集,如果有返回False,没有则返回True

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "facebook"}
z = x.isdisjoint(y) 

(7) issubse() 方法

 该方法用来检测是一个集合是否是另外一个集合的子集,是就返回True,不是就返回False

x = {"a", "b", "c"}
y = {"f", "e", "d", "c", "b", "a"}
z = x.issubset(y) 

(8) issuperset()方法

与issubset()方法相反,issuperset()方法用来检测一个集合是否包含另外一个集合

x = {"f", "e", "d", "c", "b", "a"}
y = {"a", "b", "c"}
z = x.issuperset(y) 

(9)symmetric_difference()方法

该方法用来返回两个集合中的并集,除了都有的元素

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}

z = x.symmetric_difference(y) 

(10)symmetric_difference_update()

与9差不多

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
x.symmetric_difference_update(y) 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值