首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python3集合魔法(函数)

Python3集合魔法(函数)

作者头像
用户7886150
修改2021-01-12 14:31:50
修改2021-01-12 14:31:50
3970
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: Python中的isdisjoint函数

目录 

 文章目录

 目录1. len(__object)函数说明:计算集合不重复元素的个数(计算集合去重之后的元素个数)。

     2. add(self,element)函数说明:用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。

     3. update(self,element)函数说明:也可以用于给集合添加元素,element 可以有多个,用逗号分开,且参数可以是列表,元组,字典,集合等。

     4. clear(self)函数说明:移除集合中的所有元素。

     5. copy(self)函数说明:拷贝一个集合。

     6.remove(self,element )说明:将某个元素从集合中移除,如果元素不存在,则会发生错误。

     7. discard(self,__set)函数说明:移除集合中的元素,且如果元素不存在,不会发生错误。

     8. pop(self,__set)函数说明:随机移除集合的一个元素。

     9. difference(self,__set)函数说明:返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合中。

     10. difference_update(self,__set)函数说明:移除两个集合中都存在的元素。

     11. intersection(self,__set)函数说明:返回两个或多个集合(多个集用逗号隔开)中都包含的元素,即交集。

     12. intersection_update(self,__set)函数说明:获取两个或多个集合(多个集用逗号隔开)中都重叠的元素,即计算交集。

     13. intersection_update(self,__set)函数说明:返回两个集合或多合集(多个合集用逗号隔开)的并集,即包含了所有集合的元素,重复的元素只会出现一次。

     14. symmetric_difference(self,__set)函数说明:返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。

     15. symmetric_difference_update(self,__set)函数说明:移除当前集合中在另外一个指定集合中存在的相同元素,并将另外一个指定集合中不同的元素插入到当前集合中。

     16. isdisjoint(self,__set)函数说明:判断两个集合是否包含相同的元素,如果不存在相同元素返回 True,如果存在相同元素返回False。

     17. issubset(self,__set)函数说明:判断一个集合的所有元素是否都包含在另外一个集合中,如果是则返回 True,否则返回 False。就是判断一个集合是否是另一个集合的子集。

     18. issuperset(self,__set)函数说明:判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。

1. len(__object)函数 

说明:计算集合不重复元素的个数(计算集合去重之后的元素个数)。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'b', 'd', 'e', 5}

print(type(set1),len(set1),set1)

set2={'a', 'a', 'd', 'e', 5}

print(type(set2),len(set2),set2)

运行结果如下: 

<class 'set'> 5 {5, 'd', 'b', 'a', 'e'}

<class 'set'> 4 {'e', 5, 'd', 'a'}

2. add(self,element)函数 

说明:用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。 

element – 必需,要添加的元素。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'b', 'd', 'e', 5}

print(type(set1),set1,len(set1))

set1.add('eied')

print(type(set1),set1,len(set1))

运行结果如下: 

<class 'set'> {5, 'a', 'b', 'd', 'e'} 5

<class 'set'> {5, 'a', 'b', 'd', 'e', 'eied'} 6

3. update(self,element)函数 

说明:也可以用于给集合添加元素,element 可以有多个,用逗号分开,且参数可以是列表,元组,字典,集合等。 

如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'b', 'd', 'e', 5}

print(type(set1),set1)

set1.update('g','h')    #添加多个字符串元素

print(type(set1),set1)

set1.update(['u',3])    #添加列表元素

print(type(set1),set1)

set1.update((1,9.2))      #添加元组元素

print(type(set1),set1)

set1.update({'name':'yuki'})     #添加字典元素

print(type(set1),set1)

set1.update({'suno',100})    #添加集合元素

print(type(set1),set1)

<class 'set'> {5, 'd', 'a', 'e', 'b'}

<class 'set'> {'h', 5, 'd', 'a', 'g', 'e', 'b'}

<class 'set'> {'h', 3, 5, 'd', 'u', 'a', 'g', 'e', 'b'}

<class 'set'> {1, 'h', 3, 5, 'd', 'u', 9.2, 'a', 'g', 'e', 'b'}

<class 'set'> {1, 'h', 3, 5, 'd', 'u', 9.2, 'a', 'g', 'e', 'name', 'b'}

<class 'set'> {1, 'h', 3, 5, 100, 'd', 'suno', 'u', 9.2, 'a', 'g', 'e', 'name', 'b'}

4. clear(self)函数 

说明:移除集合中的所有元素。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'b', 'd', 'e', 5}

print(type(set1),set1,len(set1))

set1.clear()

print(type(set1),set1,len(set1))

运行结果如下: 

<class 'set'> {5, 'e', 'b', 'a', 'd'} 5

<class 'set'> set() 0

5. copy(self)函数 

说明:拷贝一个集合。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'b', 'd', 'e', 5}

set2=set1.copy()

print(type(set1),set1,len(set1))

print(type(set2),set2,len(set2))

运行结果如下: 

<class 'set'> {5, 'e', 'a', 'b', 'd'} 5

<class 'set'> {'d', 5, 'e', 'a', 'b'} 5

6.remove(self,element ) 

说明:将某个元素从集合中移除,如果元素不存在,则会发生错误。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'a', 'd', 'e', 5}

print(type(set1),set1,len(set1))

set1.remove('a')

print(type(set1),set1,len(set1))

#set1.remove('au')  #移除的元素不存在,则会发生错误

#print(type(set1),set1,len(set1))

运行结果如下: 

<class 'set'> {'a', 5, 'e', 'd'} 4

<class 'set'> {5, 'e', 'd'} 3

7. discard(self,__set)函数 

说明:移除集合中的元素,且如果元素不存在,不会发生错误。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'a', 'd', 'e', 5}

print(type(set1),set1,len(set1))

set1.discard('a')

print(type(set1),set1,len(set1))

set1.discard('au')  #移除的元素不存在,则会发生错误

print(type(set1),set1,len(set1))

运行结果如下: 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'a', 'd', 'e', 5}

print(type(set1),set1,len(set1))

set1.discard('a')

print(type(set1),set1,len(set1))

set1.discard('au')  #移除的元素不存在,则会发生错误

print(type(set1),set1,len(set1))

8. pop(self,__set)函数 

说明:随机移除集合的一个元素。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

test={'e', 5.9,'wgdo','apple','egg'}

print(type(test),test,len(test))

test.pop()

print(type(test),test,len(test))

test.pop()

print(type(test),test,len(test))

运行结果如下: 

<class 'set'> {5.9, 'e', 'egg', 'wgdo', 'apple'} 5

<class 'set'> {'e', 'egg', 'wgdo', 'apple'} 4

<class 'set'> {'egg', 'wgdo', 'apple'} 3

9. difference(self,__set)函数 

说明:返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合中。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'b', 'd', 'e', 5}

set2={'c', 'b', 'd', 'f', 2,8}

print(type(set1),set1,len(set1))

set3=set1.difference(set2)  # 相当于set1-set2,返回一个集合,元素包含在集合set1 ,但不在集合set2中。

set4=set2.difference(set1)    # 相当于set2-set1,返回一个集合,元素包含在集合set2 ,但不在集合set1中。

print(type(set3),set3,len(set3))

print(type(set4),set4,len(set4))

运行结果如下: 

<class 'set'> {5, 'e', 'd', 'a', 'b'} 5

<class 'set'> {'a', 5, 'e'} 3

<class 'set'> {8, 2, 'f', 'c'} 4

10. difference_update(self,__set)函数 

说明:移除两个集合中都存在的元素。 

difference_update() 方法与 difference() 方法的区别 difference(self,__set) 方法返回一个移除相同元素的新集合; difference_update(self,__set) 方法是直接在原来的集合中移除元素,没有返回值。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'b', 'd', 'e', 5}

set2={'c', 'b', 'd', 'f', 2,8}

print(type(set1),set1,len(set1))

set1.difference_update(set2)        # 相当于在集合set1中移除set1和set2的公共元素。

print(type(set1),set1,len(set1))

运行结果如下: 

<class 'set'> {'a', 'e', 5, 'd', 'b'} 5

<class 'set'> {'a', 'e', 5} 3

11. intersection(self,__set)函数 

说明:返回两个或多个集合(多个集用逗号隔开)中都包含的元素,即交集。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'b', 'd', 'e', 5}

set2={'c', 'b', 'd', 'f', 2,8}

print(type(set1),set1,len(set1))

set3=set1.intersection(set2)

print(type(set3),set3,len(set3))   # 相当于set1&set2,返回一个集合,元素既包含在集合set1 ,也包含在集合set2中

运行结果如下: 

<class 'set'> {'d', 'b', 5, 'e', 'a'} 5

<class 'set'> {'d', 'b'} 2

12. intersection_update(self,__set)函数 

说明:获取两个或多个集合(多个集用逗号隔开)中都重叠的元素,即计算交集。 

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

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'b', 'd', 'e', 5}

set2={'c', 'b', 'd', 'f', 2,8}

print(type(set1),set1,len(set1))

set1.intersection_update(set2)

print(type(set1),set1,len(set1))

运行结果如下: 

<class 'set'> {'e', 5, 'd', 'b', 'a'} 5

<class 'set'> {'d', 'b'} 2

13. intersection_update(self,__set)函数 

说明:返回两个集合或多合集(多个合集用逗号隔开)的并集,即包含了所有集合的元素,重复的元素只会出现一次。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'e', 5.9,'wgdo'}

set2={5,'f', 'b', 'e',8}

print(type(set1),set1,len(set1))

print(type(set2),set2,len(set2))

set3=set1.union(set2)

print(type(set3),set3,len(set3))

运行结果如下: 

<class 'set'> {5.9, 'e', 'wgdo'} 3

<class 'set'> {5, 8, 'f', 'e', 'b'} 5

<class 'set'> {5.9, 5, 8, 'f', 'e', 'b', 'wgdo'} 7

14. symmetric_difference(self,__set)函数 

说明:返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

aset={'b', 18, 'c', 'd', 'e'}

print(type(aset),aset,len(aset))

bset={'f', 'b', 13, 'c'}

print(type(bset),bset,len(bset))

cset=aset.symmetric_difference(bset)   #相当于aset^bset,aset 和 bset 中不同时存在的元素

print(type(cset),cset,len(cset))

运行结果如下: 

<class 'set'> {'c', 'b', 'e', 18, 'd'} 5

<class 'set'> {'c', 'b', 13, 'f'} 4

<class 'set'> {'e', 'd', 18, 'f', 13} 5

15. symmetric_difference_update(self,__set)函数 

说明:移除当前集合中在另外一个指定集合中存在的相同元素,并将另外一个指定集合中不同的元素插入到当前集合中。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

aset={'b', 18, 'c', 'd', 'e'}

print(type(aset),aset,len(aset))

bset={'f', 'b', 13, 'c'}

print(type(bset),bset,len(bset))

aset.symmetric_difference_update(bset)

print(type(aset),aset,len(aset))

运行结果如下: 

<class 'set'> {'b', 'c', 'd', 18, 'e'} 5

<class 'set'> {'b', 'c', 13, 'f'} 4

<class 'set'> {'f', 13, 'd', 18, 'e'} 5

16. isdisjoint(self,__set)函数 

说明:判断两个集合是否包含相同的元素,如果不存在相同元素返回 True,如果存在相同元素返回False。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'a', 'b', 'd', 'e', 5}

set2={'c', 'b', 'd', 'f', 2,8}

result=set1.isdisjoint(set2)

print(result)

set1={'a', 'b', 'd', 'e', 5}

set2={'c', 2,8}

result=set1.isdisjoint(set2)

print(result)

运行结果如下: 

False

True

17. issubset(self,__set)函数 

说明:判断一个集合的所有元素是否都包含在另外一个集合中,如果是则返回 True,否则返回 False。就是判断一个集合是否是另一个集合的子集。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'e', 5}

set2={5,'f', 'b', 'd', 'e', 2,8}

result=set1.issubset(set2)

print(result)

set1={'e', 5,'h'}

set2={5,'f', 'b', 'd', 'e', 2,8}

result=set1.issubset(set2)

print(result)

运行结果如下: 

True

False

18. issuperset(self,__set)函数 

说明:判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。 

#!/usr/bin/python

# -*- coding:utf-8 -*-

# created by yuki

#

set1={'e', 5}

set2={5,'f', 'b', 'd', 'e', 2,8}

result=set2.issubset(set1)  ###

print(result)

result=set2.issuperset(set1)  ###

print(result)

运行结果如下: 

False

True

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档