目录
文章目录
- 目录
- 1. len(__object)函数
- 2. add(self,element)函数
- 3. update(self,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)函数
- 17. issubset(self,__set)函数
- 18. issuperset(self,__set)函数
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