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)

len 및 max 사용

이 접근 방식에서는 먼저 최대 길이의 하위 목록을 찾은 다음 목록의 요소를 반복하여 해당 길이와 일치하는 하위 목록을 찾습니다. 이 계산을 위해 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 함수를 사용하고 있습니다.

예시

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)