CodeGym /Curso Java /Python SELF PT /Laços em listas

Laços em listas

Python SELF PT
Nível 7 , Lição 6
Disponível

6.1 Laço for

Em Python, laços sobre elementos de uma lista geralmente são feitos usando o laço for. Este é um dos métodos mais usados para iterar sobre uma lista, permitindo que você execute um bloco de código para cada elemento na lista.

Fundamentos do laço for

O laço for em Python passa por cada elemento da lista, atribuindo temporariamente o valor do elemento atual a uma variável, especificada após a palavra-chave for. Exemplo:


fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

Iterar a lista em ordem inversa pode ser feito usando slices:


fruits = ["apple", "banana", "cherry"]
for fruit in fruits[::-1]:
    print(fruit)

6.2 Laço for com índices

Além de iterar sobre uma lista usando o for clássico, você pode iterar usando o laço for em combinação com a função range(). Isso permite não apenas trabalhar com os elementos, mas também com suas posições, o que pode ser necessário ao realizar manipulações mais complexas com dados.

Fundamentos da iteração com índice

Para iterar sobre uma lista com acesso ao índice de cada elemento, você pode usar a abordagem a seguir:


my_list = ['a', 'b', 'c', 'd']
for i in range(len(my_list)):
    print(f'Index: {i}, Element: {my_list[i]}')

Vantagens de usar índices

Usar índices em laços permite não apenas acessar cada elemento, mas também modificar os elementos da lista no local. Isso é especialmente útil quando você precisa modificar a lista durante a iteração.

Exemplo:


my_list = ['a', 'b', 'c', 'd']
for i in range(len(my_list)):
    my_list[i] = my_list[i] * 2

Exemplos de manipulações complexas

Com índices, é fácil implementar algoritmos que exigem acesso simultâneo a vários elementos da lista, por exemplo, para comparar o elemento atual com o anterior ou o próximo:

Exemplo:


my_list = [3, 5, 2, 9, 4]
for i in range(1, len(my_list)):
    if my_list[i] > my_list[i - 1]:
        print(f'{my_list[i]} is greater than {my_list[i - 1]}')

6.3 Uso da função enumerate()

Em Python, a função enumerate() oferece uma maneira conveniente de iterar sobre elementos de uma lista com acesso simultâneo aos seus índices. Isso é especialmente útil quando você precisa processar tanto o índice quanto o valor do elemento da lista dentro do laço.

Fundamentos da função enumerate()

A função enumerate() envolve a lista em um objeto especial e retorna um iterador que produz tuplas (pares de valores), consistindo no índice e no valor do elemento:


my_list = ["apple", "banana", "cherry"]
for index, element in enumerate(my_list):
    print(f'Index: {index}, Element: {element}')

Agora você tem não só o elemento, mas também o seu índice.

Vantagens do enumerate()

Usar enumerate() torna o código mais legível e permite evitar a necessidade de gerenciar manualmente índices com range(len(...)). Isso simplifica manipulações com os elementos da lista, como modificação, acesso aos elementos e realização de verificações condicionais.

Exemplos de uso

enumerate() é perfeito para tarefas onde é necessário alterar elementos da lista simultaneamente ou comparar elementos com seus índices:


my_list = ["apple", "banana", "cherry"]
for index, element in enumerate(my_list):
    if index % 2 == 0:
        print(f'Element {element} at even index {index}')

6.4 Laço while

Já falamos sobre o for, agora vamos falar sobre o laço while. Este laço também pode ser útil ao trabalhar com elementos de uma lista.

Lembre-se de que o laço while começa sua execução verificando uma condição. Se a condição for verdadeira, o corpo do laço é executado e, em seguida, a condição é verificada novamente. O processo se repete até que a condição se torne falsa.

Exemplo de iteração sobre uma lista

Suponha que você tenha uma lista de números e queira iterar por ela até encontrar um determinado valor:


numbers = [1, 2, 3, 4, 5, -1, 6]
i = 0
while i < len(numbers) and numbers[i] != -1:
    print(numbers[i])
    i += 1

Não é muito diferente do laço for, né? Mas existem casos em que não precisamos usar o índice para trabalhar com elementos da lista. Por exemplo, se temos algumas tarefas armazenadas em uma lista, precisamos removê-las uma a uma, executá-las e excluí-las da lista.

Esse código poderia ser esquematizado assim:


tasks = [1, 2, 3, 4, 5, -1, 6]
while len(tasks) > 0:
    task = tasks.pop()
    print(task)
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION