# 集合 """ 集合(set)是一个无序的不重复元素序列。 使用大括号 { } 或者 set() 函数创建集合 创建一个空集合必须用 set() """ # 创建集合 sets = {'value1', 'value2', 'value3'} print(sets) # 创建集合set() set_hs = set('123456') print(set_hs) # 返回 {'5', '4', '6', '1', '3', '2'} # 创建空集合 set_kong = set() print(type(set_kong)) # 返回set() 类型是set # 集合创建去除重复值 重复元素会去除 mylike = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} print(mylike) # 返回 {'orange', 'banana', 'apple', 'pear'} # in 判断元素是否在集合内 if 'apple' in mylike: print("存在") else: print("NO") # 集合操作 # set.add(x) 将元素x添加到集合中,如果元素已存在,则不进行任何操作 mylike.add('西红柿') mylike.add('orange') print(mylike) # set.update(x) 将多个元素x添加到集合中,多个,用逗号分开,参数可以是列表,元组,字典等 # 修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。 mylike.update("苹果") print(mylike) # 返回 {'pear', 'apple', 'banana', '果', 'orange', '苹', '西红柿'} mylike.update({'name': 'qaz'}) print(mylike) mylike.update([1, 5], [5, 9]) print(mylike) # set.remove(x) 移除集合中存在的的元素,不存在报错 mylike.remove('apple') print(mylike) # set.discard(x) 移除集合中的元素,且如果元素不存在,不会发生错误 mylike.discard('eeeee') print(mylike) # set.pop() 随机删除集合中的一个元素 # pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除 mylike.pop() print(mylike) # len() 计算集合元素个数 print(len(mylike)) # set.clear() 清空集合 mylike.clear() print(mylike) # x in set 判断元素是否在集合中存在 # set.copy() 拷贝一个集合 mylike2 = mylike.copy() print(mylike2) # set.difference(set) 返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中 set1 = {"app", "ban", "che"} set2 = {"goo", "micr", "app"} set3 = set1.difference(set2) print(set3) # set.difference_update(set) 移除两个集合中都存在的元素 直接在原来的集合中移除元素,没有返回值。 set1.difference_update(set2) print(set1) # set.intersection(set1, set2 ... etc) 返回两个或更多集合中都包含的元素,即交集 x = {"apple", "banana", "cherry"} y = {"google", "runoob", "apple"} z = x.intersection(y) print(z) # set.intersection_update(set1, set2 ... etc) 获取两个或更多集合中都重叠的元素,即计算交集 在原始的集合上移除不重叠的元素。 x.intersection_update(y) print(x) # set.isdisjoint(set) 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 z = x.isdisjoint(y) print(z) # set.issubset(set) 用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False # 判断集合 x 的所有元素是否都包含在集合 y 中: x = {"a", "b", "c"} y = {"f", "e", "d", "c", "b", "a"} z = x.issubset(y) print(z) # set.issuperset(set) 用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。 # 判断集合 y 的所有元素是否都包含在集合 x 中: x = {"f", "e", "d", "c", "b", "a"} y = {"a", "b", "c"} z = x.issuperset(y) print(z) # set.symmetric_difference(set) 返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。 x = {"apple", "banana", "cherry"} y = {"google", "runoob", "apple"} z = x.symmetric_difference(y) print(z) # set.symmetric_difference_update(set) 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中 x = {"apple", "banana", "cherry"} y = {"google", "runoob", "apple"} x.symmetric_difference_update(y) print(x) # set.union(set1, set2...) 返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。 x = {"apple", "banana", "cherry"} y = {"google", "runoob", "apple"} z = x.union(y) print(z)