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

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

리스트에서 최솟값을 가진 요소를 찾으려면 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

이처럼 파이썬의 내장 함수만으로도 리스트의 최솟값과 그 위치를 간단하게 처리할 수 있습니다.