포시코딩

[Python] max에 조건 달기 본문

Python

[Python] max에 조건 달기

포시 2023. 4. 23. 02:11
728x90

개요

sorted(), sort()에 옵션으로 key=lambda와 reverse 옵션을 붙여 쓰는 방법은 알고 있었는데

max에도 가능한건 처음 알아서 기억하기 위해 포스팅

 

코드

queue = [1, 1, 9, 1, 1, 1]
queue = [(i, x) for i, x in enumerate(queue)]
print('queue: ', queue)
# queue:  [(0, 1), (1, 1), (2, 9), (3, 1), (4, 1), (5, 1)]

max_value = sorted(queue, key=lambda x: x[1], reverse=True)[0]
print('max_value: ', max_value)
# max_value:  (2, 9)

기존에는 이렇게 queue를 정렬하고나서 맨 앞에껄 뽑아썼다면

 

queue = [1, 1, 9, 1, 1, 1]
queue = [(i, x) for i, x in enumerate(queue)]
print('queue: ', queue)
# queue:  [(0, 1), (1, 1), (2, 9), (3, 1), (4, 1), (5, 1)]

max_value = max(queue, key=lambda x: x[1])
print('max_value: ', max_value)
# max_value:  (2, 9)

max 함수에 마찬가지로 key=lambda 옵션을 추가해 최대값을 얻어낼 수 있다.

728x90