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

รับองค์ประกอบสุดท้ายของแต่ละรายการย่อยใน Python


รายการในหลามยังสามารถมีรายการอยู่ภายในเป็นองค์ประกอบ รายการที่ซ้อนกันเหล่านี้เรียกว่ารายการย่อย ในบทความนี้ เราจะแก้ปัญหาความท้าทายในการดึงเฉพาะองค์ประกอบสุดท้ายของแต่ละรายการย่อยในรายการที่กำหนด

ใช้สำหรับวนซ้ำ

เป็นวิธีที่ง่ายมากที่เราวนซ้ำรายการย่อยที่ดึงรายการที่ดัชนี -1 ในนั้น ใช้ for loop เพื่อจุดประสงค์นี้ดังที่แสดงด้านล่าง

ตัวอย่าง

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("Lastst Items from sublists:\n")
for item in Alist:
   print((item[-1]))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
1
Fri
7

การใช้ zip และ *

* ช่วยให้เราสามารถแกะรายการย่อยและให้การเข้าถึงองค์ประกอบแต่ละรายการของรายการย่อย ดังนั้นในกรณีนี้ เราจะใช้ * และกลับรายการเพื่อเข้าถึงองค์ประกอบที่ดัชนี 0 จากแต่ละองค์ประกอบ จากนั้นเราก็ซิปผลลัพธ์เพื่อรับรายการองค์ประกอบแรกจากรายการย่อย

ตัวอย่าง

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("\n First Items from sublists:\n")
print(list(list(zip(*map(reversed,Alist)))[0]))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
[1, 'Fri', 7]

การใช้ itemgetter

itemgetter(i) สร้าง callable ที่รับวัตถุ iterable เช่น dictionary,list, tuple เป็นต้น เป็นอินพุต และดึงองค์ประกอบ i-th ออกมา เราจึงสามารถใช้วิธีนี้ในการรับรายการแรกของรายการโดยใช้ฟังก์ชันแผนที่ดังนี้

ตัวอย่าง

from operator import itemgetter

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("\n First Items from sublists:\n")
print(list(map(itemgetter(-1), Alist)))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
[1, 'Fri', 7]