(참고: max 내장 함수와 선택인자(key, default))
(참고: max(str, key=len))
max() 함수는 받은 인자 중 최대값을 반환한다
그런데 여기에 더해 key 옵션(인자)을 사용하여 '어느 것을 기준으로 최대값을 구할 것인가?'를 설정할 수 있다.
딕셔너리의 dict.key값을 넣고 key 인자로 dict.value를 넣어주면, 최대의 dict.value를 갖고 있는 dict.key를 반환한다
sales_data = {"apple": 50, "orange": 2, "banana" : 30}
max_key = max(sales_data.keys(), key=sales_data.get)
max_value = max(sales_data.values())
print(max_key, max_value)
iterable에 문자열 list를 넣고 key 인자로 len을 준다면, 가장 길이가 긴 문자를 반환한다
a = max('abc', 'aaaa', '12345', 'pizz', 'zz', key=len)
print(a) # >>> '12345'
여담으로 sort 함수에서도 key 속성을 통해 정렬을 수행할 수도 있다
m_list2 = sorted(m_list, key=lambda x: len(x))