Python 集合的基础功能

目录

1.clear

2.copy

3.difference

4.difference_update

5.discard

6.intersection

7.intersection_update

8.isdisjoint

9.issubset

10.issuperset

11.pop

12.remove

13.symmetric_difference

14.symmetric_difference_update

15.union

16.update

17.add


1.clear

描述:删除集合s中的所有元素。

语法:s.clear()

举例:

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

输出:

set()

2.copy

描述:复制生成一个新的集合。

语法 s.copy()

举例:

set_data = {1, 2, 3, 4}
set_data1 = set_data.copy()
print(set_data1)
 

输出:

{1, 2, 3, 4}

3.difference

返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中
difference的用法:
用法: a_set.difference(b_set)
参数: b_set :当前集合需要对比的集合
返回值: 返回原始集合与对比集合的差集 (即a_set与b_set的差集)
举例:

set_data1 = {1, 2, 3}
set_data2 = {2, 3, 4}
print(set_data1.difference(set_data2))

输出:

{1}

4.difference_update

用于通过从另一个集合(set2)中删除set1中不存在的元素和重复的元素来使用此(原始)集合(set1)的元素更新集合。

句法:

    set_name1.difference_update(set_name2)

Parameter(s):

参数:set_name2 –另一个/第二个集合的名称,用于查找与set_name1的差异。

返回值:此方法的返回类型为<class'NoneType'> ,它什么也不返回。

举例:

set_data1 = {1, 2, 3}
set_data2 = {2, 3, 4}
set_data1.difference_update(set_data2)
print(set_data1)

输出:

{1}

5.discard

discard() 方法用于移除指定的集合元素。该方法不同于 remove() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。

语法:set.discard(value)

举例:

set_data1 = {1, 2, 3}
set_data2 = {2, 3, 4}
set_data1.discard(3)
print(set_data1)

输出:

{1, 2}

6.intersection

intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。

intersection() 方法语法:set.intersection(set1, set2 ... etc)

参数:

set1 -- 必需,要查找相同元素的集合

set2 -- 可选,其他要查找相同元素的集合,可以多个,多个使用逗号 , 隔开

返回值

返回一个新的集合。

举例:

set_data1 = {1, 2, 3}
set_data2 = {2, 3, 4}
set1 = set_data1.intersection(set_data2)
print(set1)

输出:

{2, 3}

7.intersection_update

intersection_update() 方法用于获取两个或更多集合中都重叠的元素,即计算交集。

intersection_update() 方法不同于 intersection() 方法,因为intersection() 方法是返回一个新的集合,而intersection_update() 方法是在原始的集合上移除不重叠的元素。

junction_update()的语法为:A.intersection_update(*other_sets)

intersection_update()参数:intersection_update()允许任意数量的参数(集合)。

Intersection_update()返回值:

此方法返回None(意味着,没有返回值)。它仅更新调用intersection_update()方法的集合。

举例:

set_data1 = {1, 2, 3}
set_data2 = {2, 3, 4}
set1 = set_data1.intersection_update(set_data2)
print(set_data1)

输出:

{2, 3}

8.isdisjoint

判断两个集合是否包含相同的元素,如果没有返True ,否则返回False

用法: a_set.isdisjoint(b_set)

参数: b_set : 与当前集合用来判断的集合

返回值: 返回一个布尔值 True 或 False

举例:

set_data1 = {1, 2, 3}
set_data2 = {2, 3, 4}
set2 = set_data1.isdisjoint(set_data2)
print(set2)

输出:

False

9.issubset

issubset() 方法用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,不是则返回 False。

 语法 : z=A.issubset(B)

set_data1 = {1, 2, 3, 4}
set_data2 = {2, 3, 4}
set2 = set_data2.issubset(set_data1)
print(set2)

输出:

True

10.issuperset

如果集合A的所有元素都占用作为参数传递的集合B,则issuperset()方法返回True,如果集合A中的所有元素都不存在,则返回false。

这意味着如果A是B的超集,则它返回true;否则,它返回false.

用法:  A.issuperset(B)

举例:

set_data1 = {1, 2, 3, 4}
set_data2 = {2, 3, 4}
set4 = set_data1.issuperset(set_data2)
set5 = set_data2.issuperset(set_data1)
print(set4, set5)

输出:

True False

11.pop

描述:随机移除集合s中的一个元素并返回该元素。若集合为空则报错(产生KeyError异常)

语法:s.pop()

举例:

set_data1 = {1, 2, 3, 4}
set_data1.pop()
print(set_data1)

输出:

{2, 3, 4}

12.remove

python中的remove()方法是对集合元素进行删除操作的方法,括号中的参数是指定要删除的元素。该方法并不会删除列表中所有的指定要删除的元素,只会在该元素第一次出现时(从前往后遍历列表元素),将该位置的元素删除,同时返回删除后的新集合。如果存在则删除;如果没找到,则报错。

语法:s.remove(value)

举例:

set_data1 = {1, 2, 3, 4}
set_data1.remove(1)
print(set_data1)

输出:

{2, 3, 4}

13.symmetric_difference

返回对称差集(反向交集),即返回两个集合中不重复的元素集合,即移除两个集合中都存在的元素。

使用 symmetric_difference 函数,合并两个集合时,合并的结果会通过返回值的形式来返回。

语法:  s = s1.symmetric_difference(s2)

举例:

set_data1 = {1, 2, 3}
set_data2 = {2, 3, 4}
print(set_data1.symmetric_difference(set_data2))

输出:

{1, 4}

14.symmetric_difference_update

把集合a更新为:集合a与集合b的对称差集。集合a元素被更新改变,但集合b元素不改变。

使用 symmetric_difference_update 函数,合并两个集合时,合并的结果将会更新原来的集合。

语法:s1.symmetric_difference_update(s2)

举例:

set_data1 = {1, 2, 3, 7}
set_data2 = {2, 3, 4, 5}
set3 = set_data1.symmetric_difference_update(set_data2)
print(set3)
print(set_data1)
print(set_data2)

输出:

None
{1, 4, 5, 7}
{2, 3, 4, 5}

15.union

返回多个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次
union的用法
用法: a_set.union(b_set...)
参数: b_set...: 与当前集合对比的1或多个集合,参数也可以传入列表和字典(字典只会传入key)等可循环的数据类型
返回值: 返回原始集合与对比集合的并集

举例:

set_data1 = {1, 2, 3, 7}
set_data2 = {2, 3, 4, 5}
set5 = set_data2.union(set_data1)
print(set5)

输出:

{1, 2, 3, 4, 5, 7}

16.update

描述:将集合a和集合b取并集,并将结果保存在集合a中(即更新集合a),集合b不改变,但是没有返回值。

语法:a.update(b,c,d...)  返回值为空

a.update(x)  返回值为空

举例:

set_data1 = {1, 2, 3, 7}
set_data2 = {2, 3, 4, 5}
set_data1.update(set_data2)
print(set_data1)

输出:

{1, 2, 3, 4, 5, 7}

17.add

描述:如果集合s中不存在元素x,则将元素x添加到集合s中。

语法:s.add(x)

x —— 要添加的元素。集合s已经存在元素x,也不会报错。

举例:

set_data1 = {1, 2, 3}
set_data2 = {2, 3, 4}
set_data1.add(3)
set_data2.add(1)
print(set_data1, set_data2)

输出:

{1, 2, 3} {1, 2, 3, 4}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值