파이썬에서 데이터 분석을 할 때 종종 중첩 목록을 처리합니다. 이 기사에서는 중첩 목록의 요소 중 가장 긴 목록을 찾아 길이와 함께 인쇄하는 방법을 알아봅니다.
람다 및 지도 사용
중첩 목록을 선언하고 길이와 함께 람다 함수에 대한 입력으로 제공합니다. 마지막으로 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)