Python3 集合
702字约2分钟
2024-08-10
集合 (set
) 是一个无序的不重复元素序列
创建集合
可以使用大括号 { }
或者 set()
函数创建集合
注意:创建一个空集合必须用 set()
而不是 { }
,因为 { }
是用来创建一个空字典
my_set = {"Apple", "Pear", "Watermelon"}
print(f"my_set的内容是:{my_set},类型是:{type(my_set)}")
# my_set的内容是:{'Apple', 'Watermelon', 'Pear'},类型是:<class 'set'>
my_set_empty = set()
print(f"my_set_empty:{my_set_empty},类型是:{type(my_set_empty)}")
# my_set_empty:set(),类型是:<class 'set'>
添加元素
语法:set.add(x)
,将元素 x
添加到集合 set
中,如果元素已存在,则不进行任何操作
my_set = {"Apple", "Pear", "Watermelon"}
my_set.add("Mango")
print(f"myset添加元素后结果:{my_set}")
# myset添加元素后结果:{'Watermelon', 'Apple', 'Mango', 'Pear'}
my_set.add("Pear")
print(f"myset添加元素后结果:{my_set}")
# myset添加元素后结果:{'Watermelon', 'Apple', 'Mango', 'Pear'}
移除元素
语法:set.remove(x)
,元素 x
从集合 set
中移除,如果元素不存在,则会发生错误
my_set = {"Apple", "Pear", "Watermelon"}
my_set.remove("Apple")
print(f"my_set 移除 Apple 元素后结果:{my_set}")
set
集合的 pop
方法随机取出一个元素
my_set = {"Apple", "Pear", "Watermelon"}
value = my_set.pop()
print(f"my_set中随机取出元素:{value},取出后 my_set 内容:{my_set}")
统计集合元素数量
语法:len(set)
my_set = {"Apple", "Pear", "Watermelon"}
num = len(my_set)
print(f"统计集合元素数量:{num}")
# 统计集合元素数量:3
清空集合
语法:set.clear()
my_set = {"Apple", "Pear", "Watermelon"}
my_set.clear()
print(f"清空my_set集合后内容:{my_set}")
# 清空my_set集合后内容:set()
判断元素是否在集合中存在
语法 x in set
,判断元素 x
是否在集合 set
中,存在返回 True
,不存在返回 False
my_set = {"Apple", "Pear", "Watermelon"}
result = 'Apple' in my_set
print(f"Apple 是否在集合中 {result}")
# Apple 是否在集合中 True
集合内置方法
方法 | 描述 |
---|---|
add() | 为集合添加元素 |
clear() | 移除集合中的所有元素 |
copy() | 拷贝一个集合 |
difference() | 返回多个集合的差集 |
difference_update() | 移除集合中的元素,该元素在指定的集合也存在 |
discard() | 删除集合中指定的元素 |
intersection() | 返回集合的交集 |
intersection_update() | 返回集合的交集 |
isdisjoint() | 判断两个集合是否包含相同的元素,如果没有返回 True ,否则返回 False |
issubset() | 判断指定集合是否为该方法参数集合的子集。 |
issuperset() | 判断该方法的参数集合是否为指定集合的子集 |
pop() | 随机移除元素 |
remove() | 移除指定元素 |
symmetric_difference() | 返回两个集合中不重复的元素集合 |
symmetric_difference_update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中 |
union() | 返回两个集合的并集 |
update() | 给集合添加元素 |