튜플로 구성된 리스트에서 각 튜플의 마지막 요소를 추출해야 하는 경우, 리스트 컴프리헨션(list comprehension)과 음수 인덱싱(negative indexing)을 활용하면 매우 간단하게 처리할 수 있습니다.
리스트 컴프리헨션은 리스트를 반복(iteration)하면서 특정 연산을 수행할 수 있도록 해주는 파이썬의 축약 문법입니다. 별도의 반복문을 여러 줄로 작성하지 않고도 한 줄로 깔끔하게 표현할 수 있어 가독성과 효율성이 뛰어납니다.
참고로 파이썬의 리스트(list)는 정수, 실수, 문자열 등 서로 다른 자료형(heterogeneous)의 값을 하나의 자료구조에 함께 저장할 수 있습니다. 그리고 '튜플의 리스트'란 이름 그대로 리스트 안에 여러 개의 튜플이 담겨 있는 구조를 의미합니다.
예제 코드
아래 예제는 튜플 리스트에서 각 튜플의 마지막 요소만 추출하여 새로운 리스트를 만드는 과정을 보여줍니다.
my_list = [('Will', 67, 45), ('Jam', 34, 56), ('Pow', 99, 123), ('Nyk', 0, 56)]
print("튜플로 이루어진 리스트 : ")
print(my_list)
my_result = [lis[-1] for lis in my_list]
print("마지막 요소만 추출한 결과 리스트 : ")
print(my_result)실행 결과
튜플로 이루어진 리스트 :
[('Will', 67, 45), ('Jam', 34, 56), ('Pow', 99, 123), ('Nyk', 0, 56)]
마지막 요소만 추출한 결과 리스트 :
[45, 56, 123, 56]
코드 설명
- 먼저 여러 개의 튜플을 담은 리스트를 생성하고, 콘솔에 출력합니다.
- 리스트 컴프리헨션을 사용해 튜플 리스트를 순회하며, 인덱스
-1(음수 인덱싱)로 각 튜플의 마지막 요소에 접근합니다. - 추출된 값들은 새로운 리스트로 만들어져 변수
my_result에 저장됩니다. - 최종적으로 해당 변수의 내용을 콘솔에 출력합니다.
음수 인덱싱이란?
파이썬에서 인덱스 -1은 시퀀스의 마지막 요소를 의미하고, -2는 뒤에서 두 번째 요소를 의미합니다. 따라서 튜플의 길이를 일일이 계산하지 않고도 lis[-1] 한 줄로 마지막 값을 손쉽게 가져올 수 있습니다.
만약 첫 번째 요소가 필요하다면 lis[0], 두 번째 요소라면 lis[1]처럼 양수 인덱스를 사용하면 됩니다.