FC ConcursosFC Concursos

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á

  1. ['Samuel', 'Pedro', 'Jair', 'Jailton', 'Marcos']
  2. ['Jair', 'Pedro', 'Samuel', 'Marcos', 'Jailton']
  3. ['Pedro', 'Jair', 'Jailton', 'Samuel', 'Marcos']
  4. ['Jair', 'Jailton', 'Samuel', 'Marcos', 'Pedro']
  5. ['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

Continue aprendendo