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

Python 리스트에서 특정 요소의 마지막 등장 위치 찾기

이 글에서는 Python 리스트에서 특정 요소가 마지막으로 등장하는 위치(인덱스)를 찾는 다양한 방법을 알아보겠습니다.

리스트에 동일한 요소가 여러 번 포함되어 있을 때, index() 메서드는 항상 첫 번째 위치만 반환하기 때문에 마지막 등장 위치를 찾으려면 약간의 트릭이 필요합니다. 가장 직관적인 방법은 리스트를 뒤집은 후 인덱스를 찾고, 이를 원래 인덱스로 변환하는 것입니다.

방법 1: 리스트를 뒤집어서 찾기

주어진 리스트를 역순으로 뒤집은 다음 요소의 위치를 찾는 방법입니다. 아래 단계를 따라 코드를 작성해 보세요.

  • 리스트를 초기화합니다.
  • reverse() 메서드를 사용해 리스트를 뒤집습니다.
  • index() 메서드로 해당 요소의 인덱스를 찾습니다.
  • 요소의 실제 인덱스는 len(list) - index - 1입니다.
  • 최종 인덱스를 출력합니다.

예제

코드를 살펴보겠습니다.

# 리스트 초기화
words = ['eat', 'sleep', 'drink', 'sleep', 'drink', 'sleep', 'go', 'come']
element = 'sleep'

# 리스트 뒤집기
words.reverse()

# 요소의 인덱스 찾기
index = words.index(element)

# 최종 인덱스 출력
print(len(words) - index - 1)

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

출력

5

방법 2: 모든 인덱스를 구한 후 최댓값 선택하기

또 다른 방법은 enumerate()와 제너레이터 표현식을 활용해 해당 요소가 등장하는 모든 인덱스를 찾은 뒤, 그중 최댓값을 구하는 것입니다. 이 방법은 원본 리스트를 변경하지 않는다는 장점이 있습니다.

예제

코드를 살펴보겠습니다.

# 리스트 초기화
words = ['eat', 'sleep', 'drink', 'sleep', 'drink', 'sleep', 'go', 'come']
element = 'sleep'

# 마지막 등장 위치 찾기
final_index = max(index for index, item in enumerate(words) if item == element)

# 인덱스 출력
print(final_index)

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

출력

5

마무리

이번 글에서는 Python 리스트에서 특정 요소의 마지막 등장 위치를 찾는 두 가지 방법을 살펴보았습니다. 리스트를 뒤집는 방법은 간단하지만 원본 리스트가 변경된다는 점에 유의하고, 원본을 유지해야 한다면 enumerate()max()를 조합하는 방법을 사용하는 것이 좋습니다. 글에 대해 궁금한 점이 있다면 댓글로 남겨주세요.