Python max 함수 에서 key 의 용법 및 원리 해석

4027 단어 Pythonmax함수.key
배경
질문 에서 비롯 되 었 습 니 다:문자열 에 가장 많이 나타 나 는 문 자 를 어떻게 찾 습 니까?
사실 max 함 수 를 사용 하면 이 문 제 를 쉽게 해결 할 수 있 습 니 다.
코드:

str1 = "AAAaaa8888899sssss"
print(max(str1, key=str1.count))
결과:8
원리
max()함 수 는 주어진 교체 가능 대상 의 최대 치 를 얻 는 데 사 용 됩 니 다.
key 는 max()함수 의 매개 변수 로 max 함 수 를 보조 하여 최대 요 소 를 찾 습 니 다.max()함수 에 key 인자 가 있 을 때 value 를 구 합 니 다. 키 인자 가 없 을 때 키 의 최대 값 을 구 합 니 다.
key 는 비교 할 대상 을 처리 하여 대상 에 대해 특정한 규칙 을 비교 할 수 있다.
비교 하기 전에 대상 을 수정 하거나 특정한 속성/색인 을 바탕 으로 비교 하려 면 key 인 자 를 사용 해 야 합 니 다.
용법
사전 에서 key 의 최대 값 가 져 오기

dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1))
print(max(dict1.keys()))
사전 의 최대 value 에 대응 하 는 key 값 가 져 오기

dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1, key=dict1.get))
print(max(dict1, key=lambda x: dict1[x]))
사전 의 최대 value 값 가 져 오기

dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1.values()))
문장 중 가장 긴 단어 가 져 오기

str3 = "Life is short , I use python"
print(str3.split())
print(max(str3.split(), key=len))
list 의 최대 값 가 져 오기

list1 = ['11', 'zzz', '22', 'eee']
print(max(list1))
list 의 최대 값 가 져 오기

list2 = ['11', '3', '222', '67']
print(max(list2, key=lambda x: int(x)))
list 의 절대 값 최대 값 가 져 오기

list3 = ['11', '-399', '222', '67']
print(max(list2, key=lambda x: abs(int(x))))
원본 list 에서 지정 한 색인 의 최대 값 가 져 오기

list4 = [(1, 'a'), (3, 'c'), (4, 'e'), (-1, 'z')]
print(max(list4, key=lambda x: x[1]))
실례

str1 = "AAAaaa888ww8899sssss"
print(max(str1, key=str1.count))
print('--------------------------')
 
print(max(str1))
print('--------------------------')
 
 
list1 = ['11', 'zzz', '22', 'eee']
print(max(list1))
print('--------------------------')
 
list2 = ['11', '-399', '222', '67']
print(max(list2, key=lambda x: int(x)))
print('--------------------------')
 
list3 = ['11', '-399', '222', '67']
print(max(list2, key=lambda x: abs(int(x))))
print('--------------------------')
 
# list3 = [{'age': 20}, {'age': 23}]
# print(max(list3))
# print('--------------------------')
 
list4 = [(1, 'a'), (3, 'c'), (4, 'e'), (-1, 'z')]
print(max(list4, key=lambda x: x[1]))
print('--------------------------')
 
 
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1, key=dict1.get))
print(max(dict1, key=lambda x: dict1[x]))
 
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1))
print(max(dict1.keys()))
 
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1.values()))
print('--------------------------')

str3 = "Life is short , I use python"
print(str3.split())
print(max(str3.split(), key=len))
print(max(str3.split()))
print('--------------------------')
실행 결과:

이상 은 Python max 함수 에서 key 의 용법 에 대한 상세 한 내용 입 니 다.Python max 함수 key 용법 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기