Bắt đầu ngayBắt đầu miễn phí

Tốc độ của các vòng lặp

Tất nhiên, set phù hợp hơn cho việc tìm kiếm phần tử. Nó dựa trên hàm băm (hash), vì vậy bạn có thể kỳ vọng độ phức tạp hằng số trong hầu hết trường hợp. Nhưng còn việc duyệt qua tất cả phần tử của một đối tượng thì sao? Hãy so sánh tốc độ lặp qua các phần tử của listset bằng pytestpytest-benchmark. Gói pytest đã được import sẵn.

Bài tập này là một phần của khóa học

Nhập môn Kiểm thử trong Python

Xem khóa học

Hướng dẫn bài tập

  • Thêm decorator @benchmark trước các hàm bắt đầu bằng iterate_.
  • Hoàn thiện các vòng lặp trong iterate_listiterate_set.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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
Chỉnh sửa và Chạy Mã