Python - 集合与元素之集合定义和基本操作方法

Posted fu-yi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - 集合与元素之集合定义和基本操作方法相关的知识,希望对你有一定的参考价值。

集合(set)

定义:由不同元素组成的集合,集合中是一组无序排列可hash的值(不可变的值)例如数字、字符串、元组,可以作为字典的key

 

定义集合:

# 定义集合
s = 1, 2, 3, 3, 3, 4, 5
print(s)
print(type(s))

输出:

1, 2, 3, 4, 5
<class set>

定义可变集合set

# 定义可变集合
s = set("hello")  # ()内为可迭代类型
print(s) 

输出:

l, h, o, e

定义不可变集合

# 定义不可变集合
s = frozenset("hello")  # ()内为可迭代类型
print(s)

输出:

frozenset(l, h, e, o)

 

集合关系运算(方法)

  1、intersection()

 

num1 = 1, 2, 3
num2 = 2, 3, 4
# 求交集
print(num1.intersection(num2))
# 相当于
print(num1 & num2)

 

 输出:

2, 3
2, 3

 

  2、union()

num1 = 1, 2, 3
num2 = 2, 3, 4
# 求并集
print(num1.union(num2))
# 相当于
print(num1 | num2

输出:

1, 2, 3, 4
1, 2, 3, 4

 

  3、difference()

num1 = 1, 2, 3
num2 = 2, 3, 4
# 求差集
print(num1.difference(num2))  # 输出num1中有num2中没有的
# 相当于
print(num1 - num2)

输出:

1
1

 

  4、symmetric_difference()

num1 = 1, 2, 3
num2 = 2, 3, 4
# 求交差补集
print(num1.symmetric_difference(num2))  # 并集合交集的差集
# 相当于
print(num1 ^ num2)

输出:

1, 4
1, 4

方法

  1、add()

s = 1, 2, 3, 4
# 添加一个元素
s.add((1, 2))
s.add(1)
print(s)

输出:

(1, 2), 1, 2, 3, 4

  2、clear()

  3、copy()

  4、pop()(随机删除)

s = 1, 2, 3, 4, "Aiden", 5, 6, 7, 8
# 随机删除
s.pop()
print(s)

输出:

1, 2, 3, 4, 5, 6, 7, 8

 

  5、remove()

s = 1, 2, 3, 4, "Aiden", 5, 6, 7, 8
# 指定元素删除
s.remove(3) # 指定的元素不存在会报错
print(s)

输出:

Aiden, 1, 2, 4, 5, 6, 7, 8

 

  6、discard()

s = 1, 2, 3, 4, "Aiden", 5, 6, 7, 8
# 指定元素删除
s.discard(3)    # 指定的元素不存在不会报错
print(s)
s.discard(12)
print(s)

输出:

1, 2, 4, 5, 6, 7, 8, Aiden

 

  7、difference_update()

num1 = 1, 2, 3
num2 = 2, 3, 4
# 求完num1和num2的差集后自动复制给num1
num1.difference_update(num2)
print(num1)

输出:

1

 

  8、intersection_update()

 

num1 = 1, 2, 3
num2 = 2, 3, 4
# 求完num1和num2的交集后自动复制给num1
num1.intersection_update(num2)
print(num1)

 

输出:

2, 3

 

  9、isdisjoint()

num1 = 1, 2
num2 = 3, 4
# 判断两个集合是否互斥
print(num1.isdisjoint(num2))

输出:

True

 

  10、issubset()

num1 = 1, 2
num2 = 1, 2, 3
# 判断num1是否为num2的子集
print(num1.issubset(num2))  # 相当于print(num1 <= num2)

输出:

True

 

  11、issuperset()

num1 = 1, 2
num2 = 1, 2, 3
# 判断num2是否为num1的父集
print(num2.issuperset(num1))    # 相当于print(num2 >= num1)  

输出:

True

 

  12、symmetric_difference_update()

num1 = 1, 2, 3
num2 = 2, 3, 4
# 求交差补集并把结果赋给num1
num1.symmetric_difference_update(num2)
print(num1)

输出:

1, 4

 

  13、update()

num1 = 1, 2, 3
num2 = 2, 3, 4
# update可以更新多个值
# 相当于取并集后赋值
# num1.update(num2)
# num1.update((4, 5))
num1.update([4, 5])
print(num1)

输出:

1, 2, 3, 4, 5

 

  14、根据集合的特点可简单去重(无序)

 

以上是关于Python - 集合与元素之集合定义和基本操作方法的主要内容,如果未能解决你的问题,请参考以下文章

12 Python基本数据类型---集合

python之集合set

Python基本数据结构之集合

Python之集合函数

Python之集合

Python的集合和元组