Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 다중 크기 행렬의 마지막 열 추출하기

각 행의 길이가 서로 다른 다중 크기 행렬(리스트의 리스트)에서 마지막 열, 즉 각 하위 리스트의 마지막 요소를 추출해야 하는 경우가 있습니다. 이럴 때는 간단한 for 반복문과 append 메서드, 그리고 음수 인덱싱(negative indexing)을 활용하면 아주 손쉽게 해결할 수 있습니다.

예제

아래는 위 방법을 실제로 구현한 예제 코드입니다 −

my_list = [[41, 65, 25], [45, 89], [12, 65, 75, 36, 58], [49, 12, 36, 98], [47, 69, 78]]

print("원본 리스트 : ")
print(my_list)

print("정렬된 리스트 : ")
my_list.sort()
print(my_list)

my_result = []
for sub_list in my_list:

   my_result.append(sub_list[-1])

print("결과 리스트 : ")
print(my_result)

print("정렬된 결과 리스트 : ")
my_result.sort()
print(my_result)

출력

원본 리스트 :
[[41, 65, 25], [45, 89], [12, 65, 75, 36, 58], [49, 12, 36, 98], [47, 69, 78]]
정렬된 리스트 :
[[12, 65, 75, 36, 58], [41, 65, 25], [45, 89], [47, 69, 78], [49, 12, 36, 98]]
결과 리스트 :
[58, 25, 89, 78, 98]
정렬된 결과 리스트 :
[25, 58, 78, 89, 98]

코드 설명

  • 길이가 서로 다른 여러 리스트를 포함하는 리스트(다중 크기 행렬)를 정의하고, 콘솔에 출력합니다.

  • sort 메서드를 사용하여 리스트를 오름차순으로 정렬합니다.

  • 결과를 담을 빈 리스트를 하나 생성합니다.

  • 반복문으로 리스트를 순회하면서, 음수 인덱스 -1을 사용해 각 하위 리스트의 마지막 요소에 접근합니다. 파이썬에서 sub_list[-1]은 항상 해당 리스트의 마지막 값을 가리키므로, 하위 리스트의 길이가 달라도 문제없이 동작합니다.

  • 접근한 마지막 요소를 append 메서드로 빈 리스트에 추가합니다.

  • 모든 행을 처리한 뒤, 최종 결과 리스트를 콘솔에 출력합니다.

  • 마지막으로 결과 리스트를 한 번 더 정렬하여 출력함으로써, 추출된 값들을 오름차순으로 확인할 수 있습니다.

이처럼 음수 인덱싱을 활용하면 행마다 크기가 달라도 별도의 길이 계산 없이 마지막 열의 값을 깔끔하게 추출할 수 있습니다.