List comprehensions กับ generators
จากวิดีโอที่ผ่านมา จะเห็นว่า list comprehensions และ generator expressions มีไวยากรณ์ที่คล้ายกันมาก ต่างกันเพียงตรงที่ generator expressions ใช้วงเล็บ () ในขณะที่ list comprehensions ใช้วงเล็บเหลี่ยม []
ในแบบฝึกหัดนี้ จะได้ทบทวนความแตกต่างระหว่าง list comprehensions และ generators โดยมีโค้ดต่อไปนี้โหลดไว้ในสภาพแวดล้อมแล้ว:
# List of strings
fellowship = ['frodo', 'samwise', 'merry', 'aragorn', 'legolas', 'boromir', 'gimli']
# List comprehension
fellow1 = [member for member in fellowship if len(member) >= 7]
# Generator expression
fellow2 = (member for member in fellowship if len(member) >= 7)
ลองทดสอบกับ fellow1 และ fellow2 โดยตรวจสอบประเภทและแสดงค่าของทั้งคู่ จากนั้นเลือกคำอธิบายที่ถูกต้องที่สุดเกี่ยวกับความแตกต่างระหว่าง list comprehensions และ generators
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python Toolbox
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด