การใช้งานและการ unpack tuple
หาก tuple มีค่าเช่น ('chocolate chip cookies', 15) และต้องการเข้าถึงข้อมูลแต่ละส่วน สามารถใช้ index ได้เหมือนกับ list นอกจากนี้ยังสามารถ "unpack" tuple ลงในหลายตัวแปรได้ เช่น type, count = ('chocolate chip cookies', 15) ซึ่งจะกำหนดให้ type มีค่าเป็น 'chocolate chip cookies' และ count มีค่าเป็น 15
บ่อยครั้งที่ต้องการจับคู่ข้อมูลจาก array หลายชุดเข้าด้วยกัน ฟังก์ชัน zip() ทำหน้าที่นี้ได้พอดี โดยจะคืนค่าเป็น list ของ tuple ที่มีหนึ่งสมาชิกจากแต่ละ list ที่ส่งเข้าไป
ในระหว่างการวนลูปผ่าน list ยังสามารถติดตามตำแหน่งปัจจุบันได้ด้วยฟังก์ชัน enumerate() ซึ่งจะคืนค่า index ของสมาชิกที่กำลังประมวลผลอยู่พร้อมกับตัวสมาชิกนั้น
(จะพูดถึงโค้ดบรรทัดสุดท้ายเพิ่มเติมในบทเรียนถัดไป)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ประเภทข้อมูลใน Python
คำแนะนำการฝึกหัด
- ใช้ฟังก์ชัน
zip()จับคู่girl_namesและboy_namesเก็บไว้ในตัวแปรชื่อpairs - ใช้
forloop วนลูปผ่านpairsโดยใช้enumerate()เพื่อติดตามตำแหน่ง แล้ว unpackpairsลงในตัวแปรrankและpair - Unpack
pairลงในตัวแปรgirl_nameและboy_name - แสดงผล rank, ชื่อเด็กผู้หญิง และชื่อเด็กผู้ชาย ตามลำดับนี้ โดย rank เก็บอยู่ในตัวแปร
rank
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Pair up the girl and boy names: pairs
pairs = ____
# Iterate over pairs
for ____, ____ in ____:
# Unpack pair: girl_name, boy_name
____, ____ = ____
# Print the rank and names associated with each rank
print(f'Rank {rank+1}: {girl_name} and {boy_name}')