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

ค้นหารายการย่อยความยาวสูงสุดในรายการซ้อนใน Python


เรามักจะจัดการกับรายการที่ซ้อนกันเมื่อทำการวิเคราะห์ข้อมูลในหลาม ในบทความนี้ เราจะมาดูวิธีการค้นหารายการที่ยาวที่สุดในบรรดาองค์ประกอบในรายการที่ซ้อนกัน แล้วพิมพ์สิ่งนี้พร้อมกับความยาว

การใช้แลมบ์ดาและแผนที่

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

ตัวอย่าง

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)

การใช้เลนและแม็กซ์

ในแนวทางนี้ อันดับแรก เราจะค้นหารายการย่อยที่มีความยาวสูงสุด จากนั้นวนรอบองค์ประกอบของรายการเพื่อค้นหารายการย่อยที่ตรงกับความยาวนั้น เราใช้ฟังก์ชัน 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)

การใช้แผนที่

นี่เป็นแนวทางที่คล้ายกับโปรแกรมด้านบน แต่เรากำลังใช้ฟังก์ชันแผนที่เพื่อค้นหารายการย่อยที่มีความยาวสูงสุด

ตัวอย่าง

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)