เมื่อใช้ตัววนซ้ำ เราจำเป็นต้องติดตามจำนวนรายการในตัววนซ้ำ สิ่งนี้ทำได้โดยวิธีการในตัวที่เรียกว่า enumerate() enumerate() วิธีการเพิ่มตัวนับเพื่อ iterable วัตถุที่ส่งคืนเป็นวัตถุที่แจกแจง ไวยากรณ์และพารามิเตอร์ต่างๆ อธิบายไว้ด้านล่าง
enumerate(iterable, start=0) iterable - a sequence, an iterator, or objects that supports iteration start – is the position in the iterator from where the counting starts. Default is 0.
ตัวอย่าง
ในตัวอย่างด้านล่างเราใช้พจนานุกรมและนำไปใช้กับมัน ในผลลัพธ์เริ่มต้นเริ่มต้นคือจาก 0 และเราได้รับผลลัพธ์ที่พิมพ์โดยเริ่มจากค่าตัวนับเป็นศูนย์ นอกจากนี้เรายังสามารถเปลี่ยนค่าเริ่มต้นเริ่มต้นเป็น 5 และดูผลลัพธ์ที่แตกต่างกันแม้ว่าการนับจะยังเหมือนเดิม
days= { 'Mon', 'Tue', 'Wed','Thu'} enum_days = enumerate(days) print(type(enum_days)) # converting it to alist print(list(enum_days)) # changing the default counter to 5 enum_days = enumerate(days, 5) print(list(enum_days))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
[(0, 'Tue'), (1, 'Thu'), (2, 'Mon'), (3, 'Wed')] [(5, 'Tue'), (6, 'Thu'), (7, 'Mon'), (8, 'Wed')]
การใช้ลูปสำหรับการแจงนับ
นอกจากนี้เรายังสามารถใช้โค้ดสำหรับการวนซ้ำและพิมพ์องค์ประกอบของลูปแยกกันดังแสดงในโค้ดด้านล่าง
ตัวอย่าง
days= { 'Mon', 'Tue', 'Wed','Thu'} enum_days = enumerate(days) # enumearte using loop for enum_days in enumerate(days): print(enum_days) for count,enum_days in enumerate(days,5): print(count,enum_days)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
(0, 'Thu') (1, 'Tue') (2, 'Wed') (3, 'Mon') 5 Thu 6 Tue 7 Wed 8 Mon