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?
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 += 1
Observe 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!