Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Questão 4

Queria entender melhor a lógica da resposta do professor com esse [::-1] Fiz alguns testes e pelo que entendi esse -1 não é um índice, mas sim o intervalo de cada elemento da lista começando do último. Testei com [::1] e mostrou a lista normal. Testei com [::2] e [::-2] e pulou um elemento indo na ordem normal ou inversa. Queria entender melhor o que significa essa repetição dos dois pontos, até pra poder usar futuramente.

Como não tinha ideia disso, acabei resolvendo o exercício de uma forma mais trabalhosa:

# Exercício 4

cont = 1
lista = []

while cont <= 5:
  numer = int(input('Nos informe um número inteiro qualquer '))
  cont += 1
  lista.append(numer)
  

print(lista)
print(f'A lista reversa é {lista[-1], lista[-2], lista[-3], lista[-4], lista[-5]}')
2 respostas
solução!

Oi

Em Python, a notação [::-1] é uma maneira concisa e elegante de inverter uma sequência, como uma lista. Vamos quebrar isso:

  • O primeiro : representa o início da sequência.
  • O segundo : representa o final da sequência.
  • O -1 representa o passo ou o intervalo.

Quando você usa [::-1], está dizendo para pegar todos os elementos da sequência (no seu caso, uma lista) do início até o fim, mas com um passo de -1, o que efetivamente inverte a ordem dos elementos.

Agora, sobre o seu código, para imprimir a lista inversa de uma forma mais eficiente, você pode simplesmente usar [::-1].

cont = 1
lista = []

while cont <= 5:
    numer = int(input('Nos informe um número inteiro qualquer '))
    cont += 1
    lista.append(numer)

print(lista)
print(f'A lista reversa é {lista[::-1]}')

Essa linha print(f'A lista reversa é {lista[::-1]}') faz exatamente o que discutimos anteriormente, inverte a ordem dos elementos da lista. Isso é mais eficiente e mais limpo do que acessar os elementos individualmente como no seu código original.

Entendi a explicação. Valeu