python集合
集合(set)是一个无序的不重复元素序列。集合中放的元素不需要类型相同。
1 创建集合
可以使用大括号 { } 或者 set() 函数创建集合。
创建格式:parame = {value01,value02,…} 或者 set(value)
集合创建过程中会去重。
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
例如:
fruit = {'apple', 'orange', 'apple', 'pear', 'orange'}
print(fruit) # 集合创建过程中会去重
set = {'apple', 'pear', 'orange', 3.0, 5}
print(set) # 集合中放的元素不需要类型相同
{'apple', 'pear', 'orange'}
{3.0, 5, 'pear', 'apple', 'orange'}
2 添加元素
1、使用add方法添加
添加元素到结合使用add方法。将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。例如:
set = {'apple', 'pear', 'orange'}
set.add("apple")
print(set)
set.add("cherry")
print(set)
{'apple', 'pear', 'orange'}
{'apple', 'pear', 'cherry', 'orange'}
2、使用update方法添加
update方法也可以添加元素,且参数可以是列表,元组,字典等,语法格式为:set.update(x)
x 可以有多个,用逗号分开.
例如:
set = {0, "a", "b", "c"}
set.update("h")
print(set)
set.update("y", "z")
print(set)
set.update({"d", "e", "f"})
print(set)
{0, 'b', 'h', 'c', 'a'}
{0, 'y', 'b', 'h', 'c', 'z', 'a'}
{0, 'e', 'f', 'y', 'b', 'd', 'h', 'c', 'z', 'a'}
3 移除元素
移除元素可以使用remove方法,也可以使用discard方法,还可以使用pop方法随机移除元素。
语法格式分别为:set.remove(x), set.discard(x), set.pop()。
注意:
1、remove方法移除元素,如果元素不存在,则会发生错误。
2、discard方法移除元素,如果元素不存在,不会发生错误。
3、set集合的pop方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。
例如:
set = {0, "a", "b", "c", "d", "e", "f"}
set.remove("f")
print(set)
set.discard(0)
print(set)
set.pop()
print(set)
# 移除不存在的元素
set.discard("hello") # 未报错
set.remove("helo") # 报错
{0, 'e', 'b', 'd', 'c', 'a'}
{'e', 'b', 'd', 'c', 'a'}
{'b', 'd', 'c', 'a'}
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-31-76c2516655f7> in <module>
12 # 移除不存在的元素
13 set.discard("hello") # 未报错
---> 14 set.remove("helo") # 报错
KeyError: 'helo'
4 计算元素个数
计算元素个数用len方法,语法格式为:len(set)。例如:
set = {0, "a", "b", "c", "d", "e", "f"}
print(len(set))
7
5 清空集合
清空集合用clear方法,语法格式为:set.clear()。例如:
set = {0, "a", "b", "c", "d", "e", "f"}
set.clear()
print(set)
set()
6 判断元素是否在集合中
判断元素是否在集合中可以用 in 或 not in。
in:如果元素在集合中就返回True,元素不在集合中,则返回False。
not in:与in正好相反。如果元素不在集合中,则返回True,如果元素在集合中,则返回False。
set = {0, "a", "b", "c", "d", "e", "f"}
print(0 in set)
print(2 in set)
print("a" not in set)
print("y" not in set)
True
False
False
True
7 集合内置方法完整列表
1、add():为集合添加元素
2、clear():移除集合中的所有元素
3、copy():拷贝一个集合
4、difference():返回多个集合的差集
5、difference_update():移除集合中的元素,该元素在指定的集合也存在。
6、discard():删除集合中指定的元素
7、intersection():返回集合的交集
8、intersection_update():返回集合的交集。
9、isdisjoint():判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
10、issubset():判断指定集合是否为该方法参数集合的子集。
11、issuperset():判断该方法的参数集合是否为指定集合的子集
12、pop():随机移除元素
13、remove():移除指定元素
14、symmetric_difference():返回两个集合中不重复的元素集合。
15、symmetric_difference_update():移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
16、union():返回两个集合的并集
17、update():给集合添加元素
3867

被折叠的 条评论
为什么被折叠?



