max ()가 잘못된 양을 인쇄하는 이유는 무엇입니까? [복제]

Dec 23 2020
list = [['apples', 'oranges', 'cherries', 'banana'],
        ['Alice', 'Bob', 'Carol', 'David'],
         ['dogs', 'cats', 'moose', 'goose']]

print(len(max(list[0])))

출력 : 7

출력이 8이 아니라 7 인 이유는 무엇입니까?

print 문을 다음과 같이 수정할 때 :

print(len(max(list[0], key = len))) 

효과가있다. 이유를 모르겠습니다. 누군가 나를 도울 수 있기를 바랍니다.

감사

답변

1 SneakyTurtle Dec 23 2020 at 00:44

기본적으로 max 함수는 알파벳 순서로 가장 높은 값을 가진 문자열을 반환합니다. 길이가 8 인 "주황색"입니다.

키를 두 번째 매개 변수로 제공하면 알파벳순이 아닌 길이로 문자열을 비교합니다.

FrankBlack78 Dec 23 2020 at 00:40

max (list [0])는 'oranges'와 같고 len ( 'oranges')는 7과 같기 때문입니다.