본문 바로가기

파이썬

[Python3] 리스트에서 최대 최소 찾기 min/max

리스트에서 최소 값과 최대 값을 찾을 때 for문을 돌며 minNum, maxNum 값을 갱신시키는 방법 말고 효과적으로 최소값과 최대값을 알 수 있는 함수가 있다.

 

이는 min과 max 이다. 단순히 min(a,b) 와 같이 변수끼리 비교하는 것도 가능하지만 list 에 있는 값을 비교하는 것도 가능하다! 아주 놀라운 함수이다.

 

c언어에서는 여러 변수에서 min()이나 max 함수를 이용할 때 min(a,min(b, c)) 같이 min안의 min을 (재귀함수야 뭐야)이용해야 했지만, python은 min안에 최소값을 찾고 싶은 모든 변수를 넣을 수 있기 때문에 리스트의 최소 값을 알 수 있는 것이다.

 

>>> min(1,3,-1,43,63,11,-234)
-234
>>> max(-13151,16341,-1234,15352)
16341

#함수 안에서 연산자 사용도 가능!
>>> max(23125012-12345,15232510234-2353256134,-1923425+1314215123)
12879254100

 

 

여러 수의 비교가 가능한 python의 min()과 max()

사용법은 다음과 같다.

 

>>> list = [1,57,23,13,3,4,-1]
>>> min(list)
-1
>>> max(list)
57

 

아래와 같이 문자열에서의 최대 최소 구하기도 가능하다!

 

>>> list = ['234', 'asdf', '325']
>>> min(list)
'234'
>>> max(list)
'asdf'

 

리스트와 리스트 간의 최대 최소 구하기도 당연히 가능하다. (완전 짱이다)

 

>>> list = [134,235143,2342431]
>>> list2 = [214235,25124,2531666124]

>>> min(list,list2)
[134, 235143, 2342431]

>>> max(list,list2)
[214235, 25124, 2531666124]

 

튜플도, 딕셔너리도 모두 적용 가능하다.

 

>>> tuple = (1,315,234215)
>>> min(tuple)
1
>>> max(tuple)
234215


>>> dic = {1:3215, 32:34125, 6123:241}
>>> min(dic)
1
>>> max(dic)
6123
>>> min(dic.items())
(1, 3215)
>>> min(dic.values())
241

 

우와 min, max 함수 선배님 파이썬을 뒤집어 놓으셨다

와.. 완전 최고의 함수

효율성 올려주는 최고의 선배님