# 集合的定义和操作 # 列表可以修改,支持重复元素 # 元组、字符串不可修改、至此回重复元素且有序 # 集合,不支持重复元素,且元素无序 """ 1 集合.add(元素) 集合内添加一个元素 2 集合.remove(元素) 移除集合内指定的元素 3 集合.pop() 从集合中随机取出来一个元素 4 集合1.difference(集合2) 得到一个新集合,内含2个集合的差集,集合1有,集合2没有的,原2个集合不变 5 集合1.difference_update(集合2) 在集合1中,删除集合2中存在的元素,集合1被修改,集合2不变 6 集合.clear() 将集合清空 7 集合1.union(集合2) 得到1个新集合,内含2个集合的全部元素,原2个集合不变 8 len(集合) 得到一个整数,记录了集合的元素数量 """ # 定义集合 不能重复元素,且元素无序,不支持下标索引,但可以修改 my_set = {"臭八十的","殷丽媛","yuan头","殷丽媛","臭八十的","yuan头","狗八蛋","臭八十的"} my_set_empty = set( ) print(f"my_set的内容是:{my_set},它的类型是:{type(my_set)}") print(f"my_set_empty的内容是:{my_set_empty},它的类型是:{type(my_set_empty)}") # 集合的操作 # 1.添加新元素 , 语法 : 集合.add(元素),结果是集合本身被修改 my_set.add("python") print(f"通过add添加新元素后,集合的内容是:{my_set}") # 2.移除元素。 语法: 集合.remove(元素) my_set.remove("yuan头") print(f"通过remove移除一个元素后,集合的内容是:{my_set}") # 3.从集合中随机取出一个元素。 语法:集合.pop()。 结果,得到一个元素,集合本身被修改 element = my_set.pop() print(f"从集合中随机取到的元素是:{element}") print(f"用pop随机取出一个元素后的集合内容是:{my_set}") # 4.清空集合 集合.clear() my_set.clear() print(f"使用clear清空集合后,得到的结果是:{my_set}") # 5.取出2个集合的差集 # 语法 : 集合1.difference(集合2) # 功能: 取出集合1和集合2的差集(集合1有而集合2没有的) # 结果: 得到一个新的集合,集合1和集合2不变 set1 = {1,2,3,4} set2 = {1,8,9,0} new_set = set1.difference(set2) print(f"集合1和集合2的差集内容是:{new_set}") print(f"取出差集后,原有set1的结果是:{set1},set2的结果是:{set2}") # 6.消除2个集合的差集 # 语法 : 集合1.difference_update(集合2) # 功能: 对比集合1集合2,在集合1内,删除和集合2相同的元素。 # 结果: 集合1被修改,集合2不变 set1 = {1,2,3,4} set2 = {1,8,9,0} set1.difference_update(set2) print(f"消除差集后,原有set1的结果是:{set1},set2的结果是:{set2}") # 7.两个集合的合并 # 语法: 集合1.union(集合2) # 功能: 将集合1和集合2组合成新的集合 # 结果:得到新集合,集合1和集合2不变 set1 = {1,2,3,4} set2 = {1,8,9,0} new_set2 = set1.union(set2) print(f"将2个集合合并后的新集合内容是:{new_set2}") print(f"2个集合合并后,原set1内容是:{set1},原set2的内容是:{set2}") # 8.统计集合元素数量 len() set5 = {0,1,22,5,3,6,8,9,7,4,1,5,6,2,25,5,6,2,42,10,32} num = len(set5) print(f"统计set5中共有{num}个元素") # 9.集合的遍历 # 集合不支持下标所有,所以不能用while循环遍历,但可以用for循环遍历 for x in set5: print(f"集合set5中的元素分别有:{x}") 运行结果: