Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชัน Enumerate() ใน Python

เมื่อใช้ iterator ต้องการนับจำนวนไอเท็ม ใช้เมธอด built-in enumerate() ซึ่งเพิ่มตัวนับ (counter) ให้กับ iterable คืนค่าเป็น enumerate object

enumerate(iterable, start=0)
# iterable - sequence, iterator, หรืออ็อบเจกต์ที่รองรับ iteration
# start - ตำแหน่งเริ่มต้นของการนับ (default 0)

ตัวอย่างพื้นฐาน

ใช้กับเซต (set) ของวัน ดัชนีเริ่มต้นที่ 0 สามารถเปลี่ยน start เป็น 5 ได้

days = {'Mon', 'Tue', 'Wed', 'Thu'}
enum_days = enumerate(days)
print(type(enum_days))
print(list(enum_days))

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')]

ใช้กับ Loop

วนลูปพร้อมแยกค่า counter และ element

days = {'Mon', 'Tue', 'Wed', 'Thu'}
enum_days = enumerate(days)

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