python三大内建数据结构之集合(set)

 

set(集合):一组无重复无序的数据。就像数学中集合的概念。它没有标准的括号包裹,[]表示list,()表示tuple,{}表示dict。

但是我们可以用带值的大括号来定义。

还有一种集合叫冰冻集合frozenset它不能修改,其余类似set。

定义:

# 方法一
set1 = set()
# 方法二
set2 = {1, 2, 3, 4, 5}
print(type(set1))
print(type(set2))

因为无序所以不能切片和下标索引。

内置函数:

len,min,max,sum用法同list链接: https://blog.csdn.net/zhouchen1998/article/details/81148207

注意的是set没有append追加末尾,因为没有顺序且不重复。

set中加入元素用add。这是set特有的。

清空元素clear,移除指定元素remove同list。

pop只是随机去一个值。

同样的,set还有特有的一个删除函数discard。而discard和remove区别就是remove一个不在集合内的值会报错,而discard不会报错。

用途:

集合最大的用途就是去除重复元素。

set1 = {1, 2, 2, 3, 3, 3}
print(set1)
set1.add(1)
set1.add(4)
print(set1)

集合的数学运算:并集,交集,差集,检验某是某的子集,检验某是某的超集。

set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5}
# 交集
set3 = set1.intersection(set2)
print(set3)
# 并集
set4 = set1.union(set2)
#等价于set4 = set1 - set2
print(set4)
# 差集
set5 = set1.difference(set2)
print(set5)
set6 = set1 - set2
print(set6)
# 是否子集
print(set1.issubset(set2))
# 是否超集
print(set1.issuperset(set2))

 

猜你喜欢

转载自blog.csdn.net/zhouchen1998/article/details/81157170
今日推荐