เราบ่อยครั้งที่ต้องจัดการกับ Nested List เมื่อทำ Data Analysis ใน Python ในบทความนี้ เราจะดูวิธีหา List ที่ยาวที่สุดในสมาชิกของ Nested List แล้วพิมพ์มันพร้อมกับความยาว
การใช้ Lambda และ Map
เราประกาศ Nested List และส่งให้ Lambda Function พร้อมกับความยาว สุดท้าย เราใช้ฟังก์ชัน Max เพื่อได้ List ที่มีความยาวสูงสุด รวมถึงความยาวของ List นั้น
ตัวอย่าง
def longest(lst):
longestList = max(lst, key = lambda i: len(i))
maxLength = max(map(len, listA))
return longestList, maxLength
# Driver Code
listA = [[1,2], [2,45,6,7], [11,65,2]]
print("Longest List and its length:\n",longest(listA))
ผลลัพธ์
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ −
Longest List and its length: ([2, 45, 6, 7], 4)
การใช้ Len และ Max
ในแนวทางนี้ เราหา Sub-list ที่มีความยาวสูงสุดก่อน แล้ววนลูปผ่าน Elements ของ List เพื่อหาว่า Sub-list ไหนตรงกับความยาวนั้น เราใช้ฟังก์ชัน Max และ Len เพื่อคำนวณนี้
ตัวอย่าง
def longest(lst):
longestList = []
maxLength = max(len(x) for x in listA)
for i in listA:
if len(i) == maxLength :
longestList = i
return longestList, maxLength
# Driver Code
listA = [[1,2], [2,45,6,7], [11,6,2]]
print("Longest List and its length:\n",longest(listA))
ผลลัพธ์
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ −
Longest List and its length: ([2, 45, 6, 7], 4)
การใช้ Map
นี่คือแนวทางคล้ายกับโปรแกรมข้างต้น แต่เราใช้ฟังก์ชัน Map เพื่อหา Sub-list ที่มีความยาวสูงสุด
ตัวอย่าง
def longest(lst):
longestList = []
maxLength = max(map(len,listA))
for i in listA:
if len(i) == maxLength :
longestList = i
return longestList, maxLength
# Driver Code
listA = [[1,2], [2,45,6,7], [11,6,2]]
print("Longest List and its length:\n",longest(listA))
ผลลัพธ์
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ −
Longest List and its length: ([2, 45, 6, 7], 4)