Questão FC331142
O trecho de código a seguir, escrito em linguagem Python, ordena a lista nomeada minha_lista. Analise-o e indique qual será a ordem de exibição dos nomes da lista ao final da execu
Linguagens de Programação
FGV · 2024
O trecho de código a seguir, escrito em linguagem Python, ordena a lista nomeada minha_lista. Analise-o e indique qual será a ordem de exibição dos nomes da lista ao final da execução de sua ordenação.
minha_lista = ['Jair', 'Samuel', 'Jailton', 'Marcos', 'Pedro']
minha_lista.sort(key=len) # a função len "número de caracteres"
# será aplicada a cada elemento da lista
print(minha_lista)
A ordem de saída será
- ['Samuel', 'Pedro', 'Jair', 'Jailton', 'Marcos']
- ['Jair', 'Pedro', 'Samuel', 'Marcos', 'Jailton']
- ['Pedro', 'Jair', 'Jailton', 'Samuel', 'Marcos']
- ['Jair', 'Jailton', 'Samuel', 'Marcos', 'Pedro']
- ['Jair', 'Samuel', 'Jailton', 'Marcos', 'Pedro']
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A chamada minha_lista.sort(key=len) ordena os elementos com base no valor retornado por len, isto é, no número de caracteres de cada nome. Cada elemento da lista é comparado pelo seu comprimento, não pela ordem alfabética.
Calculando os comprimentos: Jair (4), Pedro (5), Samuel (6), Marcos (6), Jailton (7). Assim, a ordenação será crescente pelo tamanho: primeiro os de 4, depois 5, depois os de 6 e por fim 7.
Importante: o método sort do Python é estável, portanto quando dois nomes têm o mesmo tamanho (Samuel e Marcos, ambos 6) mantém-se a ordem relativa original entre eles.
Daí o resultado final: ['Jair', 'Pedro', 'Samuel', 'Marcos', 'Jailton'].
Conteúdo do catálogo FC Concursos · Atualizado em