#!/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'}
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
如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。
#!/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'}
#!/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
#!/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
#!/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
#!/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))
#!/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
#!/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
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
#!/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
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
#!/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
#!/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
#!/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
#!/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
#!/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
#!/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