리스트에서 최댓값을 가진 요소를 찾으려면 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와 리스트 컴프리헨션을 조합하면 손쉽게 구할 수 있습니다.