Boa tarde!
gostaria de saber como chamar todas as repetições de uma lista EX.:
valores = [1,1,1,3]
valores.index(1)Já que o index só retorna a primeira ocorrência, teria alguma função que chama todas as ocorrências?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa tarde!
gostaria de saber como chamar todas as repetições de uma lista EX.:
valores = [1,1,1,3]
valores.index(1)Já que o index só retorna a primeira ocorrência, teria alguma função que chama todas as ocorrências?
Oi Vinícius, tudo bem?
Irei mostrar duas abordagens, a primeira, de um jeito mais "bruto". Que seria utilizando um for para encontrar todas as ocorrências e possuindo uma variável auxiliar nomeada de posicao :
valores = [1,1,1,3]
posicao = 0
for valor in valores:
if valor == 1:
print(posicao)
posicao += 1Observe que a variável posição começa por zero, uma vez que um vetor começa do índice zero e esta variável é incrementada dentro do laço, para quando encontramos o valor correspondente, printarmos a posição.
A segunda maneira, é utilizando a função enumerate, que nos retorna uma lista de objetos enumerados. Por exemplo:
x = ('apple', 'banana', 'cherry')
y = enumerate(x)
print(list(y))Resultado: [(0, 'apple'), (1, 'banana'), (2, 'cherry')]
Com isso, podemos fazer o seguinte para o seu caso:
valores = [1,1,1,3]
for posicao, valor in enumerate(valores):
if valor == 1:
print(posicao)
Deixo aqui uma referência sobre a função enumerate.
Pegou a ideia? Qualquer dúvida é só falar.
Abraços e bons estudos!
Fui procurar conteúdos de listas e encontrei um exercício que usava este método agr... Muito interessante.
Obrigado Nádia!