การใช้งาน zip
ฟังก์ชันที่น่าสนใจอีกตัวที่ได้เรียนไปคือ zip() ซึ่งรับ iterable จำนวนเท่าใดก็ได้แล้วคืนค่าเป็น zip object ที่เป็น iterator ของ tuple หากต้องการแสดงค่าใน zip object สามารถแปลงเป็น list แล้วค่อย print ออกมา การ print zip object โดยตรงจะไม่แสดงค่าภายใน เว้นแต่จะ unpack ก่อน แบบฝึกหัดนี้จะให้ลองทำด้วยตัวเอง
มีลิสต์ของ string พร้อมใช้งานอยู่แล้ว 3 รายการ ได้แก่ mutants, aliases และ powers ขั้นแรกจะใช้ list() และ zip() กับลิสต์เหล่านี้เพื่อสร้างลิสต์ของ tuple จากนั้นจะสร้าง zip object ด้วย zip() และสุดท้ายจะ unpack zip object นี้ใน for loop เพื่อ print ค่าใน tuple แต่ละชุด ลองสังเกตความแตกต่างของผลลัพธ์ที่ได้จากการ print ลิสต์ของ tuple, zip object และค่าใน tuple ผ่าน for loop
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python Toolbox
คำแนะนำการฝึกหัด
- ใช้
zip()ร่วมกับlist()เพื่อสร้าง list ของ tuple จากลิสต์ทั้งสาม ได้แก่mutants,aliasesและpowers(ตามลำดับนี้) แล้วกำหนดผลลัพธ์ให้กับตัวแปรmutant_data - ใช้
zip()เพื่อสร้าง zip object ชื่อmutant_zipจากลิสต์ทั้งสาม ได้แก่mutants,aliasesและpowers - เติม
forloop ให้สมบูรณ์โดย unpackzipobject ที่สร้างไว้แล้ว print ค่าใน tuple ใช้value1,value2,value3สำหรับค่าจากmutants,aliasesและpowersตามลำดับ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create a list of tuples: mutant_data
mutant_data = ____
# Print the list of tuples
print(mutant_data)
# Create a zip object using the three lists: mutant_zip
mutant_zip = ____
# Print the zip object
print(mutant_zip)
# Unpack the zip object and print the tuple values
for ____ in ____:
print(value1, value2, value3)