파이썬의 목록은 그 안에 목록을 요소로 포함할 수도 있습니다. 이러한 중첩 목록을 하위 목록이라고 합니다. 이 기사에서는 주어진 목록에서 각 하위 목록의 마지막 요소만 검색하는 문제를 해결할 것입니다.
for 루프 사용
하위 목록에서 인덱스 -1에 있는 항목을 가져오는 하위 목록을 반복하는 매우 간단한 접근 방식입니다. 이를 위해 아래와 같이 for 루프가 사용됩니다.
예시
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)는 사전, 목록, 튜플 등과 같은 반복 가능한 개체를 입력으로 사용하고 i 번째 요소를 가져오는 콜러블을 구성합니다. 따라서 이 메소드를 사용하여 다음과 같이 map 함수를 사용하여 목록의 첫 번째 항목을 가져올 수 있습니다.
예시
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]