python 中集合set()常用操作

1. 集合的概念和创建

1.1 概念

python中的集合和数学上的集合基本是没有区别的,元素无序且不重复不可以使用索引访问

1.2 创建集合

  • 方式1:使用花括号{},但其中至少包含一个元素,否则默认创建的是空字典
>>> set1 = {"Hello", "World"}
{"Hello", "World"}
  • 方式2:使用 set(),也可以创建空集合
>>> set2 = set('hello')
{'e', 'o', 'h', 'l'} # 集合会去掉重复元素
  • 方式3:将列表转换为集合
>>> set3 = set([1,2,3,1,2])
{1, 2, 3}
  • 方式4:使用生成列生成列表
>>> set4 = {num for num in range(10) if num % 3 == 0}
{0, 9, 3, 6}

 

2. 集合的方法

2.1 添加元素

  • 方式1:通过 add() 方法为集合添加一个元素,对应于列表的append()
>>> set1 = set()
>>> set1.add(1)
{1}
  • 方式2:通过 update() 方法为集合添加多个元素,对应于列表的extend()
>>> set1 = {1, 2}
>>> set1.update({2, 3})
{1, 2, 3}

2.2 删除元素

  • 方式1:通过 discard() 方法删除指定元素(集合中没有也不会报错
>>> set1 = {1, 2, 3}
>>> set1.discard(1)
{2, 3}
  • 方式2:通过 remove() 方法删除指定元素(集合中没有会报错
>>> set1 = {1, 2, 3}
>>> set1.remove(1)
{2, 3}
  • 方式3:通过 pop() 方法从集合中随机删除一个元素并返回该元素
>>> set1 = {1, 2, 3}
>>> set1.pop()
1
  • 方式4:通过 clear() 方法清空整个集合
>>> set1 = {1, 2, 3}
>>> set1.clear()
set()

2.3 遍历集合

  • 集合不支持索引访问
  • 集合可以通过for循环遍历
set1 = {1, 2, 3}
for i in set1:
    print(i)

 

3. 集合的运算

集合数据类型的运算包括:成员运算、交集并集差集运算、比较运算等。

3.1 成员运算

  • 可以通过成员运算 in not in 判断元素是否在集合中。
  • 注意:我们使用集合而不是向量、列表或数组的原因是因为我们反复检查其中是否存在某元素。检查数字是否在集合中需要 O(1) 的时间,而对于其他数据结构,则需要 O(n) 的时间

3.2 交集运算

  • 方式1:使用 & 运算符
set1 & set2
  • 方式2:使用 intersection() 方法
set1.intersection(set2)

3.3 并集运算

  • 方式1:使用 | 运算符
set1 | set2
  • 方式2:使用 union() 方法
set1.union(set2)

3.4 差集运算

  • 方式1:使用 - 运算符
set1 - set2
  • 方式2:使用 difference() 方法
set1.difference(set2)

3.5 比较运算

  • 两个集合可以使用 == != 进行相等性判断
  • 两个集合可以使用 <  <=  >  >= 进行子集、真子集等判断

参考:https://www.jb51.net/article/226906.htm

你可能感兴趣的:(python,大数据,python)