Python易错点6
作者:互联网
73. 集合常规操作
73.1
#set 运算符 a=set('abracadabra') b=set('alacazam') #集合a中包含而集合b中不包含的元素 print("a-b:",a-b) # a-b: {'r', 'd', 'b'} #集合不支持+ # print(a+b) # TypeError: unsupported operand type(s) for +: 'set' and 'set' # 集合a或b中包含的所有元素 并集 print("a|b:",a|b) # a|b: {'d', 'b', 'r', 'm', 'l', 'c', 'a', 'z'} # 集合a和b中都包含了的元素 交集 print("a&b:",a&b) # a&b: {'c', 'a'} # 不同时包含于a和b的元素 去掉交集 print("a^b:",a^b) # a^b: {'r', 'l', 'd', 'b', 'm', 'z'} print({1,2,3,4,5} ^ { 6,7}) # {1,2,3,4,5,6,7}
异或在数学上就是对称差(Symmetric difference)
数学上,两个集合的对称差(Symmetric difference)是只属于其中一个集合,而不被两个集合同时包含。 例如:集合{1,2,3}和{3,4}的对称差为{1,2,4}。集合论中的这个运算相当于布尔逻辑中的异或运算。所以在Python里使用了异或的符号(^)表示,内置函数为symmetric_difference()
73.2 集合增删
1.添加元素add和update
# 1.添加元素 thisset = set(("Google", "Runoob", "Taobao")) thisset.add("Facebook") print(thisset) # 还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下: thisset.update({1, 3}) thisset.update([1, 4], [5, 6]) thisset.update({'a': 'aaa'}) print(thisset)
2.移除元素
# s.remove( x )
# 将元素 x 从集合
s 中移除,如果元素不存在,则会发生错误。
thisset = set(("Google", "Runoob", "Taobao")) thisset.remove("Taobao") print(thisset) # {'Google', 'Runoob'} # thisset.remove("Facebook") # 不存在会发生错误 # Traceback (most recent call last): # File "<stdin>", line 1, in <module> # KeyError: 'Facebook'
# 此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:
# s.discard( x )
thisset = set(("Google", "Runoob", "Taobao")) thisset.discard("Facebook") # 不存在不会发生错误 print(thisset)
运行结果:
{'Taobao', 'Google', 'Runoob'}
标签:易错,set,Python,元素,集合,thisset,Taobao,print 来源: https://www.cnblogs.com/GumpYan/p/14169789.html