始める無料で始める

ループの速度

もちろん、要素の検索には set のほうが適しています。ハッシュに基づいているため、ほとんどの場合で計算量は定数時間を期待できます。では、オブジェクト内のすべての要素を「走査(iterate)」する場合はどうでしょうか?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
コードを編集して実行