리스트에서 최솟값을 가진 요소를 찾으려면 min() 함수에 리스트를 인수로 전달하기만 하면 됩니다. min 함수는 리스트를 처음부터 끝까지 순회하면서 지금까지 만난 값 중 가장 작은 값을 계속 추적하고, 순회가 끝나면 그 최솟값을 반환합니다.
min() 함수 사용 예제
my_list = [2, 3, 1, 5, -1] print(min(my_list))
출력 결과
-1
위 예제에서 리스트 내 가장 작은 값인 -1이 출력되는 것을 확인할 수 있습니다.
enumerate()로 최솟값의 인덱스 찾기
단순히 최솟값 자체뿐 아니라, 해당 최솟값이 리스트에서 어느 위치(인덱스)에 있는지까지 알고 싶다면 enumerate() 메서드를 활용할 수 있습니다. enumerate는 각 요소를 인덱스와 값으로 이루어진 튜플 형태로 묶어주므로, 조건에 맞는 인덱스를 손쉽게 추출할 수 있습니다.
사용 예제
my_list = [2, 3, 1, -4, -1, -4] m = min(my_list) print([i for i, j in enumerate(my_list) if j == m])
출력 결과
[3, 5]
이 예제에서 최솟값은 -4이며, 리스트 인덱스 3번과 5번 두 곳에서 나타납니다. 따라서 출력 결과는 [3, 5]가 됩니다.
참고: key 매개변수 활용하기
min() 함수는 key 매개변수를 함께 사용할 수도 있습니다. 예를 들어 절댓값 기준으로 최솟값을 찾거나, 딕셔너리·튜플 리스트에서 특정 기준으로 최솟값을 구할 때 유용합니다.
my_list = [2, 3, 1, 5, -1] print(min(my_list, key=abs)) # 절댓값 기준 최솟값 → 1
이처럼 파이썬의 내장 함수만으로도 리스트의 최솟값과 그 위치를 간단하게 처리할 수 있습니다.