循环的速度
当然,set 更适合用于查找元素。它基于哈希,因此大多数情况下可以期望常数复杂度。那么,遍历 对象的所有元素又如何呢?让我们用 pytest 和 pytest-benchmark 比较在 list 与 set 上进行循环迭代的速度。pytest 包已经导入。
本练习是课程的一部分
Python 测试入门
练习说明
- 在所有以
iterate_开头的函数前添加@benchmark装饰器。 - 完成
iterate_list和iterate_set中的循环。
交互式实操练习
通过完成这段示例代码来试试这个练习。
def test_list(benchmark):
# Add decorator here
@____
def iterate_list():
# Complete the loop here
____ in [i for i in range(1000)]:
pass
def test_set(benchmark):
# Add decorator here
____
def iterate_set():
# Complete the loop here
____ in {i for i in range(1000)}:
pass