欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python基础语法-python三大内建数据结构之集合(set)

程序员文章站 2022-05-19 14:21:13
...

 

 

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

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

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

1.定义:

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

python基础语法-python三大内建数据结构之集合(set)

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

2.内置函数:

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不会报错。

 

 

3.用途:

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

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

python基础语法-python三大内建数据结构之集合(set)

 

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

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))

 python基础语法-python三大内建数据结构之集合(set)