เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ความเร็วของลูป

แน่นอนว่า set เหมาะสำหรับการค้นหาสมาชิกมากกว่า เพราะอาศัยแฮช จึงมักใช้เวลาคงที่โดยไม่ขึ้นกับขนาดข้อมูล แต่ถ้าต้องการวนซ้ำผ่านสมาชิกทุกตัวในอ็อบเจกต์ล่ะ? มาเปรียบเทียบความเร็วของการวนลูปผ่านสมาชิกใน list และ set โดยใช้ pytest และ pytest-benchmark กัน แพ็กเกจ pytest ได้นำเข้ามาแล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python เบื้องต้นสำหรับการทดสอบโค้ด

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เพิ่ม decorator @benchmark ก่อนฟังก์ชันที่ขึ้นต้นด้วย iterate_
  • เติมโค้ดลูปในฟังก์ชัน 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
แก้ไขและรันโค้ด