por que max () está imprimindo com a quantidade errada? [duplicado]
Dec 23 2020
list = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
print(len(max(list[0])))
Produto: 7
por que a saída é 7 e não 8?
quando eu modifico a declaração de impressão para:
print(len(max(list[0], key = len)))
funciona. Eu não entendo porque. Espero que alguém possa me ajudar.
obrigado
Respostas
1 SneakyTurtle Dec 23 2020 at 00:44
Por padrão, a função max retorna a string com o valor mais alto, ordenada alfabeticamente. Que são "laranjas", cujo comprimento é 8.
Quando você fornece a chave como um segundo parâmetro, ele compara as sequências por seu comprimento e não em ordem alfabética.
FrankBlack78 Dec 23 2020 at 00:40
Porque max (list [0]) é igual a 'laranjas' e len ('laranjas') é igual a 7.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas