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

파이썬 리스트에서 최댓값을 가진 요소를 찾는 방법

리스트에서 최댓값을 가진 요소를 찾으려면 max() 함수에 리스트를 인자로 전달하여 호출하면 됩니다. max 함수는 리스트를 처음부터 끝까지 순회하면서 지금까지 만난 값 중 가장 큰 값을 계속 추적하다가, 순회가 끝나면 그 최댓값을 반환합니다.

예제

my_list = [2, 3, 1, 5, -1]
print(max(my_list))

출력 결과

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

5

최댓값의 인덱스(위치)까지 찾는 방법

만약 최댓값이 리스트의 어느 위치(인덱스)에 있는지, 그리고 최댓값이 여러 번 나타나는 경우 그 모든 위치를 알고 싶다면 enumerate 메서드를 활용할 수 있습니다. enumerate 메서드는 각 요소를 (인덱스, 요소) 형태의 튜플로 만들어 주기 때문에, 인덱스와 값을 함께 확인할 수 있습니다.

예제

my_list = [2, 3, 1, 5, -1, 5]
m = max(my_list)
print([i for i, j in enumerate(my_list) if j == m])

출력 결과

위 예제에서는 최댓값인 5가 인덱스 3과 5 두 곳에 존재하므로, 다음과 같은 결과가 출력됩니다.

[3, 5]

정리

- 리스트 전체에서 최댓값 하나만 필요하다면 max(리스트)를 사용하면 됩니다.
- 최댓값이 등장하는 모든 인덱스가 필요하다면 enumerate와 리스트 컴프리헨션을 조합하면 손쉽게 구할 수 있습니다.