เมื่อใช้ตัววนซ้ำ เราจำเป็นต้องติดตามจำนวนรายการในตัววนซ้ำ สิ่งนี้ทำได้โดยวิธีการในตัวที่เรียกว่า 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