Analise o código Python a seguir. def xpto(L): return (L[::-1]) A expressão xpto([1,2,3]) retorna:
- A)[]
Errada, porque a expressao nao apaga a lista nem produz lista vazia; ela apenas a inverte.
- B)[1]
Errada, porque o fatiamento nao retorna o primeiro elemento isolado, mas sim a sequencia inteira em ordem inversa.
- C)[3]
Errada, porque 3 sozinho seria apenas um elemento, e o slice com passo -1 nao reduz a lista a um unico valor.
- D)[1, 2, 3]
Errada, porque essa seria a lista original sem nenhuma transformacao, mas o codigo altera a ordem dos elementos.
- E)[3, 2, 1]
Certa, porque L[::-1] percorre a lista de tras para frente e devolve [3, 2, 1].
Gabarito: E
Em Python, o operador de fatiamento (slice) permite pegar partes de uma lista, string ou tupla com a sintaxe seq[inicio:fim:passo]. Quando voce usa um passo negativo, a leitura acontece ao contrario, isto e, do fim para o começo. No codigo, L[::-1] significa: pegue toda a lista L, sem cortar nada, mas caminhando de tras para frente. Isso inverte a ordem dos elementos. A funcao xpto(L) apenas retorna esse fatiamento invertido. Como a lista de entrada e [1, 2, 3], o resultado vira [3, 2, 1]. Portanto, o gabarito e a alternativa E. Esse comportamento nao depende de nenhuma regra especial de prova: e a propria sintaxe da linguagem Python. Em listas, o slice com passo -1 e um jeito classico e rapido de inverter a sequencia. Se voce enxergar L[::-1], pense automaticamente em lista espelhada. A banca adora esse tipo de detalhe simples, mas com uma pegadinha de leitura.