开始使用免费开始使用

循环的速度

当然,set 更适合用于查找元素。它基于哈希,因此大多数情况下可以期望常数复杂度。那么,遍历 对象的所有元素又如何呢?让我们用 pytestpytest-benchmark 比较在 listset 上进行循环迭代的速度。pytest 包已经导入。

本练习是课程的一部分

Python 测试入门

查看课程

练习说明

  • 在所有以 iterate_ 开头的函数前添加 @benchmark 装饰器。
  • 完成 iterate_listiterate_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
编辑并运行代码