Pular para o conteúdo principal

Questão de Programação — Python — FUNDATEC 2023

ProgramaçãoPython
Código
qq897026
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Suporte de Sistemas Operacionais
Na linguagem Python, qual a diferença entre os métodos 'sort()' e 'sorted()'?
  1. A'sort()' pode ser usado em qualquer tipo de dados, e 'sorted()' apenas em listas.
  2. B'sort()' ordena uma lista em ordem crescente, enquanto 'sorted()' ordena em ordem decrescente.
  3. C'sort()' retorna uma lista ordenada e 'sorted()' ordena a lista original.
  4. D'sort()' usa uma função de comparação personalizada, enquanto 'sorted()' usa uma função de comparação padrão.
  5. E'sort()' é mais eficiente que 'sorted()' em grandes listas.
Revelar gabarito e comentário

GabaritoC — 'sort()' retorna uma lista ordenada e 'sorted()' ordena a lista original.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Diferença entre sort() e sorted() em Python

Gabarito: letra C. A diferença fundamental é que sort() modifica a lista original (ordenação in-place) e retorna None, enquanto sorted() retorna uma nova lista ordenada, mantendo a original inalterada. A alternativa C reflete essa ideia, embora com imprecisão na redação.

Critério

sort()

sorted()

Tipo de dado

Exclusivo de listas

Qualquer iterável

Modificação da original

Modifica a lista original (in-place)

Retorna nova lista, original inalterada

Retorno

None

Nova lista ordenada

Parâmetro reverse

Aceita

Aceita

Parâmetro key

Aceita

Aceita

1sort()
Modifica a lista original
Retorna None
Exclusivo de listas
2sorted()
Retorna nova lista ordenada
Original inalterada
Aceita qualquer iterável
3Em comum
Ordem crescente padrão
Parâmetro reverse
Parâmetro key
Métodos de ordenação em Python
LEVELsoulevel.com.br
Métodos de ordenação em Python: sort() (Modifica a lista original, Retorna None, Exclusivo de listas); sorted() (Retorna nova lista ordenada, Original inalterada, Aceita qualquer iterável); Em comum (Ordem crescente padrão, Parâmetro reverse, Parâmetro key)

Alternativa A — ❌ Incorreta

sort() é um método exclusivo de listas, não podendo ser usado em outros tipos iteráveis (como tuplas, strings). Já sorted() aceita qualquer iterável. A afirmação inverte essa regra.

Alternativa B — ❌ Incorreta

Tanto sort() quanto sorted() ordenam por padrão em ordem crescente. Ambos aceitam o parâmetro reverse=True para ordem decrescente. Não há diferença de ordem padrão entre eles.

Alternativa C — ✅ Correta ⟵ GABARITO

Embora sort() retorne None (não uma lista), a alternativa entende que após a chamada de sort() a lista original fica ordenada, enquanto sorted() retorna uma nova lista ordenada sem modificar a original. As demais alternativas estão claramente erradas.

Alternativa D — ❌ Incorreta

Ambos os métodos aceitam o parâmetro key para função de comparação personalizada. Não há diferença nesse aspecto.

Alternativa E — ❌ Incorreta

sort() pode ser mais eficiente em grandes listas por não alocar memória para uma cópia, mas sorted() é mais flexível. A eficiência depende do contexto e não é uma diferença definitiva.

PEGA ESSA DICA!

Lembre-se: sort() é verbo (ordena no local), sorted() é adjetivo (gera uma cópia ordenada). Associe sort() a listas e sorted() a qualquer iterável.

Gabarito: letra C.

Link permanente: /questoes/qq897026