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

파이썬 리스트 내 튜플에서 n번째 요소 추출하는 방법

파이썬 리스트는 튜플을 요소로 가질 수 있습니다. 이 글에서는 리스트에 포함된 각 튜플에서 특정 위치(n번째)의 요소를 추출하는 다양한 방법을 살펴보겠습니다.

인덱스를 사용하는 방법

가장 간단한 방법은 리스트 컴프리헨션(list comprehension)을 활용하는 것입니다. for 루프를 통해 리스트의 각 튜플을 순회하면서 원하는 인덱스 위치의 요소에 접근하고, 그 결과를 새로운 리스트에 저장합니다.

아래 예제에서는 각 튜플에서 인덱스 1, 즉 두 번째 요소를 추출합니다.

예제 코드

Alist = [('Mon','3 pm',10),('Tue','12pm',8),('Wed','9 am',8),('Thu','6 am',5)]

# 주어진 리스트
print("Given list: ",Alist)

# 인덱스 사용
res = [x[1] for x in Alist]

print("각 튜플에서 추출한 요소:\n",res)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Given list: [('Mon', '3 pm', 10), ('Tue', '12pm', 8), ('Wed', '9 am', 8), ('Thu', '6 am', 5)]
각 튜플에서 추출한 요소:
['3 pm', '12pm', '9 am', '6 am']

itemgetter를 사용하는 방법

operator 모듈의 itemgetter 함수는 주어진 반복 가능한 객체(iterable)에서 지정한 인덱스 위치의 항목을 가져오는 데 유용합니다. map 함수와 함께 사용하면 리스트의 모든 튜플에 동일한 작업을 일괄 적용할 수 있어 코드가 더욱 간결해집니다.

아래 예제에서는 각 튜플에서 인덱스 2, 즉 세 번째 요소를 추출합니다.

예제 코드

from operator import itemgetter

Alist = [('Mon','3 pm',10),('Tue','12pm',8),('Wed','9 am',8),('Thu','6 am',5)]

# 주어진 리스트
print("Given list: ",Alist)

# itemgetter 사용
res = list(map(itemgetter(2), Alist))

print("각 튜플에서 추출한 요소:\n",res)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Given list: [('Mon', '3 pm', 10), ('Tue', '12pm', 8), ('Wed', '9 am', 8), ('Thu', '6 am', 5)]
각 튜플에서 추출한 요소:
[10, 8, 8, 5]

정리

리스트 내 튜플에서 특정 위치의 요소를 추출할 때는 리스트 컴프리헨션itemgetter + map 조합 두 가지 방법을 활용할 수 있습니다. 리스트 컴프리헨션은 직관적이고 가독성이 좋으며, itemgetter 방식은 대량의 데이터를 처리할 때 성능 면에서 유리한 경우가 많습니다. 상황에 맞게 적절한 방법을 선택하여 사용하시기 바랍니다.