申明:本文为练习python使用,跟随GitHub上jackfrued的python-100-Days,边学边练
链接:https://github.com/jackfrued/Python-100-Days/blob/master/Day01-15/07.%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%92%8C%E5%B8%B8%E7%94%A8%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84.md
Python中的集合跟数学上的集合是一致的,不允许有重复元素,而且可以进行交集、并集、差集等运算。
1、集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
2、discard() 方法用于移除指定的集合元素。该方法不同于 remove() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。remove 的元素如果不存在会引发keyerror。
3、当集合是由列表和元组组成时,set.pop()是从左边删除,对于是字典和字符转换的集合是随机删除元素的.
4、集合对list 和 tuple 类型的元素,转换集合会去掉重复元素,并且会升序排列
def main():
set1 = {1,2,3,3,3,2}
print(set1)
print("长度:",len(set1))
set2= set(range(1,10))
print(set2)
set1.add(4)
set1.add(5)
set2.update([11,12])
print(set1)
print(set2)
set2.discard(1)
print(set2)
"""
discard() 方法用于移除指定的集合元素。该方法不同于 remove() 方法,因为 remove()
方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。
"""
#remove 的元素如果不存在会引发keyerror
if 4 in set2:
set2.remove(4)
print(set2)
#遍历集合容器
for elem in set2:
print(elem**2,end=' ')
print()
#将元组转换为集合
set3 = set((8,1,2,3,10,3,2,1))#(8,1,2,3,10,3,2,1)为元组
print(set3.pop())#当集合是由列表和元组组成时,set.pop()是从左边删除,对于是字典和字符转换的集合是随机删除元素的.
print(set3)#集合对list 和 tuple 类型的元素,转换集合会去掉重复元素,并且会升序排列
#集合的交集、并集、差集、对称差运算
print(set1 & set2) #交集
print(set1 | set2)#并集
print(set1 - set2)#差集
print(set2 - set1)
print(set1 ^ set2)#d对称差运算
#判断子集和超集
print(set2 <= set1)
print({1,2,3}<={1,2,3,4,5})
if __name__ == '__main__':
main()
运行结果如下: