Python การใช้ฟังก์ชัน enumerate() : รับองค์ประกอบและดัชนีของ list

ธุรกิจ

เมื่อใช้ฟังก์ชัน enumerate() ของ Python คุณจะได้รับหมายเลขดัชนี (การนับ ลำดับ) รวมถึงองค์ประกอบของอ็อบเจกต์แบบ iterable เช่น list หรือ tuple ในลูป for

บทความนี้อธิบายพื้นฐานของฟังก์ชัน enumerate()

  • ฟังก์ชันรับดัชนีใน for loop:enumerate()
    • ปกติสำหรับลูป
    • สำหรับการวนซ้ำโดยใช้ฟังก์ชัน enumerate()
  • เริ่มดัชนีของฟังก์ชัน enumerate() ที่ 1 (ค่าที่ไม่ใช่ศูนย์)
  • ระบุการเพิ่มขึ้น (ขั้นตอน)

ฟังก์ชัน enumerate() สามารถใช้เพื่อรับดัชนีในลูป for

ปกติสำหรับลูป

l = ['Alice', 'Bob', 'Charlie']

for name in l:
    print(name)
# Alice
# Bob
# Charlie

สำหรับการวนซ้ำโดยใช้ฟังก์ชัน enumerate()

ระบุวัตถุ iterable เช่น list เป็นอาร์กิวเมนต์ของฟังก์ชัน enumerate()

คุณสามารถรับหมายเลขดัชนีและองค์ประกอบในลำดับนั้นได้

for i, name in enumerate(l):
    print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie

เริ่มดัชนีของฟังก์ชัน enumerate() ที่ 1 (ค่าที่ไม่ใช่ศูนย์)

ตามที่แสดงในตัวอย่างข้างต้น โดยค่าเริ่มต้น ดัชนีของฟังก์ชัน enumerate() จะเริ่มต้นจาก 0

หากคุณต้องการเริ่มต้นด้วยตัวเลขอื่นที่ไม่ใช่ 0 ให้ระบุหมายเลขเริ่มต้นตามอำเภอใจเป็นอาร์กิวเมนต์ที่สองของฟังก์ชัน enumerate()

ในการเริ่มต้นจากศูนย์ ให้ทำดังต่อไปนี้

for i, name in enumerate(l, 1):
    print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie

แน่นอน คุณสามารถเริ่มต้นด้วยตัวเลขอื่นได้

for i, name in enumerate(l, 42):
    print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie

มีประโยชน์เมื่อคุณต้องการสร้างสตริงที่มีตัวเลขตามลำดับ การระบุหมายเลขเริ่มต้นเป็นอาร์กิวเมนต์ที่สองของฟังก์ชัน enumerate() นั้นฉลาดกว่าการใช้ ‘i+1’ เพื่อเริ่มต้นจาก 1

for i, name in enumerate(l, 1):
    print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie

ดูบทความต่อไปนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันการจัดรูปแบบ ซึ่งใช้ในการเติมตัวเลขด้วยศูนย์

ระบุการเพิ่มขึ้น (ขั้นตอน)

ไม่มีอาร์กิวเมนต์ที่จะระบุขั้นตอนที่เพิ่มขึ้นในฟังก์ชัน enumerate() แต่สามารถทำได้โดยทำดังต่อไปนี้

step = 3
for i, name in enumerate(l):
    print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie
Copied title and URL