오늘도 개발

Min, Max 함수 본문

웹 프로그래밍/Python3

Min, Max 함수

Sueeeeeee 2022. 7. 13. 10:26

max(iterable) 형태로 사용한다. 

리스트나 딕셔너리 등 for문을 사용할 수 있는 객체(iterable)를 넣으면 

그 중 가장 큰 값을 반환한다.

 

max(iterable, key=함수명)처럼 옵션으로 함수명을 넣으면

iterable의 각 요소를 함수 인자로 넣어 반환된 값 중

가장 큰 값을 갖는 요소를 반환한다. 

 

min 함수도 마찬가지로 사용할 수 있다.

 

리스트에서 가장 큰 요소 찾기

a = [1, 1, 2, 3]
max(a) # 3

 

리스트에서 가장 많이 반복된 요소 찾기

a = [1, 1, 2, 3]

def getCount(x):
    return a.count(x)

max(a, key=getCount)

위 코드는 다음과 같이 줄여쓸 수 있다.

a = [1, 1, 2, 3]
max(a, key=lambda x:a.count(x))

 

리스트에서 튜플의 첫째 값이 가장 큰 요소 찾기

t = [(1, 0), (0, 2), (3, -1)]
max(t, key=lambda x:x[0]) # (3, -1)

 

딕셔너리에서 가장 큰 값 찾기

d = {'a': 2, 'b': 10, 'c':3, 'd':4}
max(d.values()) # 10

 

딕셔너리에 values() 메서드를 사용하면 값으로만 된 리스트를 얻을 수 있다.

d = {'a': 2, 'b': 10, 'c':3, 'd':4}
d.values()
# dict_values([2, 10, 3, 4])

 

딕셔너리에서 가장 큰 키 찾기

d = {'a': 2, 'b': 10, 'c':3, 'd':4}
max(d.keys()) # d

 

딕셔너리에서 가장 큰 값을 갖는 키 찾기

get 메서드 사용

d = {'a': 2, 'b': 10, 'c':3, 'd':4}
max(d, key=d.get) # b

# 딕셔너리에 사용하는 get()은 키를 넣으면 값을 반환하는 메서드이다.
d.get('a') # 2

람다 함수 사용

d = {'a': 2, 'b': 10, 'c':3, 'd':4}
max(d, key=lambda x:d[x]) # b