37、集合的常见操作

小白量化 2025-12-09 16:32:21 38 举报

1、集合常见操作


1.1 添加元素

(1)add(元素):向集合中添加一个元素。如果元素已经存在于集合中,则不会进行任何操作。

# 示例1
s = {1, 2, 3}
s.add(4)
s.add("xiaobai")
print(s)
# 示例2
s = {1, 2, 3}
s.add([1, 2, 3])    # TypeError: unhashable type: 'list'
print(s)

(2)update(可迭代对象, *可迭代对象):向集合中添加一个或多个元素。将可迭代对象的所有元素(如果它们尚不存在于集合中)逐个添加到集合中

# 示例2
s = {1, 2, 3}
s.update([11, 22, 33], [22, 33, 44])
print(s)
# 示例2
s = {1, 2, 3}
# s.update(4)   # TypeError: 'int' object is not iterable
s.update("abcd")
print(s)

1.2 删除元素
(1)remove(元素):从集合中移除指定的元素,如果元素存在于集合中,则将其移除;如果不存在,则抛出异常KeyError。

# 示例1
s = {11, 22, 33}
# 移除存在的元素
s.remove(22)
print(s)
# 示例2
# 移除不存在的元素
s = {11, 22, 33}
s.remove(55)     # KeyError: 55
print(s)

(2)discard(元素):从集合中移除指定的元素,如果元素存在于集合中,则将其移除;如果元素不存在,则不会执行任何操作

# 示例
s = {11, 22, 33}

# 移除存在的元素
# s.discard(22)

# 移除不存在的元素
s.discard(55)     # 不执行任何操
print(s)

1.3 数学操作


1.3.1 交集
指两个或多个集合中都存在的元素所组成的集合.
(1)&

# 示例
s = {1, 2, 3}
s2 = {3, 4, 5}
print(s & s2)
s3 = {4, 5, 6}
print(s & s2 & s3)   # set()

(2)intersection()

# 示例
s = {1, 2, 3}
s2 = {3, 4, 5}
print(s.intersection(s2))

s3 = {4, 5, 6}
print(s.intersection(s2).intersection(s3))

print(s.intersection(s2, s3))

1.3.2 并集
指两个或多个集合中所有不重复的元素所组成的集合
(1) |

# 示例
s = {1, 2, 3}
s2 = {3, 4, 5}
print(s | s2)

s3 = {4, 5, 6}
print(s | s2 | s3)

(2)union()

# 示例
s = {1, 2, 3}
s2 = {3, 4, 5}
print(s.union(s2))

s3 = {4, 5, 6}
print(s.union(s2).union(s3))

print(s.union(s2, s3))

1.4 其他操作

(1)in: 检查一个元素是否存在于集合中,如果存在则返回True;否则返回False.
(2)not in: 检查一个元素是否不存在于集合中,如果不存在则返回True;否则返回False.

# 示例
s = {'aaa', 'bbb', 'ccc'}
print('aaa' in s)
print('aaa' not in s)
print('c' not in s)   # True

(3)len(): 获取集合中元素的数量.

# 示例
s = {1, 2, 3, 444, 555, 67878, 36, 6, 6, 7}
print(len(s))  # 9

量化小白,从0开始学量化! 1

著作权归文章作者所有。 未经作者允许禁止转载!

最新回复 ( 0 )
发新帖
0