การรับองค์ประกอบและดัชนีของพวกมันใน Python
จากอ็อบเจกต์ที่วนซ้ำได้ สามารถแสดงได้ไม่เพียงแค่องค์ประกอบ แต่ยังรวมถึงดัชนีของพวกมันด้วย ในการนี้ใช้ฟังก์ชัน enumerate ในพารามิเตอร์ของมันเราระบุอ็อบเจกต์ที่วนซ้ำได้ที่ต้องการ
ตัวอย่าง
สมมติว่าเรามีลิสต์ lst:
lst = ['a', 'b', 'c']
ลองแสดงองค์ประกอบพร้อมดัชนีของพวกมันออกมา เราจะแทนคู่ องค์ประกอบ-ดัชนี ในรูปของตัวแปร item ซึ่งเราจะค้นหาในอ็อบเจกต์ที่ส่งผ่านไปยังฟังก์ชัน enumerate:
for item in enumerate(lst):
print(item)
หลังจากรันโค้ด จะแสดงทูเพิลของดัชนีและองค์ประกอบ:
(0, 'a')
(1, 'b')
(2, 'c')
ตัวอย่าง
เพื่อให้ได้องค์ประกอบและดัชนีแยกจากกัน สามารถแกะข้อมูลผ่านตัวแปรสองตัว key และ value:
for item in enumerate(lst):
key, value = item
print(key)
print(value)
print()
ผลลัพธ์ของการรันโค้ด:
0, 'a'
1, 'b'
2, 'c'
ในรูปแบบย่อ สามารถเขียนดัชนีและองค์ประกอบได้ทันทีภายในบล็อก for:
for key, value in enumerate(lst):
print(key)
print(value)
print()
โจทย์ฝึกปฏิบัติ
ให้ลิสต์:
tst = [8, 6, -4, 2, -1]
แสดงค่าขององค์ประกอบและดัชนีของพวกมันออกทางคอนโซล จนถึงจำนวนลบแรก
ให้ลิสต์:
tst = ['a', 'b', 'c', 'd', 'e']
แสดงค่าขององค์ประกอบและดัชนีของพวกมันออกทางคอนโซล:
'a1'
'b2'
'c3'
'd4'
'e5'
ให้ลิสต์:
tst = [1, 2, 3, 4, 5]
องค์ประกอบที่อยู่ในตำแหน่งคู่ ให้ยกกำลังสอง และตำแหน่งคี่ ให้ยกกำลังสาม