2022-11-11 11:48:18
Python3集合set的入门练习总结如下:
1. 集合的特性add():添加单个元素(若已存在则不重复添加)。
update():合并多个可迭代对象(如列表、元组、范围等),拆分元素后添加。
s = {1, 2, 3}s.add("e") # {1, 2, 3, 'e'}s.update(range(5), ["a", "b"]) # {0, 1, 2, 3, 4, 'a', 'b', 'e'}remove(x):删除元素x,若不存在则抛出KeyError。
discard(x):删除元素x,若不存在则不报错。
pop():随机删除并返回一个元素(因无序性,结果不确定)。
clear():清空所有元素。
s = {1, 2, 3, "a"}s.remove(2) # {1, 3, 'a'}s.discard("b") # 无报错s.pop() # 随机删除(如返回1)s.clear() # set()列表:线性结构,时间复杂度O(n)。
集合:哈希表结构,时间复杂度O(1)。
# 示例:10000个元素的查询对比a = list(range(10000)) # 列表b = set(range(10000)) # 集合%timeit -1 in a # 213 μs ± 1.34 μs%timeit -1 in b # 55.1 ns ± 0.394 ns集合无序,无法通过索引访问。
元素必须是可哈希类型。
修改操作(如add、update)会直接改变原集合。