编程语言
首页 > 编程语言> > Python易错点6

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