Estive estudando a sessão de 'manipulações para listas'. Foi então que vi uma abordagem diferente no desafio 4. Que é para inverter uma lista.
# Colete novamente 5 inteiros e imprima a lista em ordem inversa à enviada.
lista = []
for i in range(1, 6):
num = int(input('Insira um número inteiro: '))
lista.append(num)
print(lista) # original
lista.reverse()
print(lista) # Invertida
Achei interessante compartilha um resumo sobre a doc e qual foi a influência dessa atividade, pois fui testar com o método já disponível na documentacao.
Nos meus primeiros teste ao utilizar o reverse(), Acabava sempre printando 'None'; Foi então que descobri que esse método também não tem valor de retorno impresso. Alterando assim a variável original.
Desta forma olhando a sugestão do professor, foi utilizado o slice ( lista[::-1] )
Que funciona da seguinte forma:
- lista[inicio:fim:passo]: Essa é a sintaxe geral do slice.
- inicio: O índice inicial da fatia. Se omitido, o padrão é 0 (começo da sequência).
- fim: O índice final da fatia. Se omitido, o padrão é o final da sequência.
- passo: O passo para percorrer a sequência. Se omitido, o padrão é 1 (avança um elemento por vez).
Então descrevendo o [::-1]; Seria... "pega a lista completa de zero até o último, mas ao passo de -1, que será do fim para o começo.". Retornando assim uma nova lista com os valores invertidos.
Quando utilizar um ou outro? lista.reverse(), para quando não tiver problema alterar a lista original lista[::-1], Para quando precisar manter o array original
Listas, alguns comandos
- raca_caes.insert(1, 'Golden' ) # Esse insere um valor numa determinada posição.
- Curiosidade, se colocar raca_caes.inset(len(lista), 'Golden' ) será igual a utilizar o append => raca_caes.append('Golden')
- pop(), remove o valor através do index.
- remove(), remove o primeiro valor encontrado na lista.
- index('value'), retorna o primeiro index, contendo o valor correspondente.
- sort(), ordena a lista de forma crescente ou decrescente.
- extend(), utilizado para 'mesclar' algum outro array. Adicionando os valores do array_2 como elementos no array_1
- clear(), remove todos os valores
- count(), retorna o número de ocorrencias de um determinado valor.
- reverser(), inverte os valores do arrays
Espero que ajudem, caso tenham as mesmas dúvidas que tive quando fiz essa atividade. Sucesso a todos e bons estudos!