Iteráveis ​​Python

Resumo : neste tutorial, você aprenderá sobre os iteráveis ​​e iteradores do Python.

Introdução aos iteráveis ​​​​do Python

Em Python, um iterável é um objeto que inclui zero, um ou muitos elementos. Um iterável tem a capacidade de retornar seus elementos, um de cada vez.

Devido a esse recurso, você pode usar um forloop para iterar sobre um iterável.

Na verdade, a range()função é iterável porque você pode iterar sobre seu resultado:

for index in range(3):
    print(index)Linguagem de código:  Python  ( python )

Saída:

0
1
2Linguagem de código:  Python  ( python )

Além disso, uma string é iterável porque você pode usar um loop for para iterar sobre ela:

str = 'Iterables'
for ch in str:
    print(ch)
Linguagem de código:  Python  ( python )

Listas e tuplas também são iteráveis ​​porque você pode fazer um loop sobre elas. Por exemplo:

ranks = ['high', 'medium', 'low']

for rank in ranks:
    print(rank)
Linguagem de código:  Python  ( python )

A regra geral é que se você sabe se pode fazer um loop em algo, é iterável.

O que é um iterador

Um iterável pode ser iterado. E um iterador é o agente que realiza a iteração.

Para obter um iterador de um iterável, você usa a iter()função. Por exemplo:

colors = ['red', 'green', 'blue']
colors_iter = iter(colors)Linguagem de código:  Python  ( python )

Depois de ter o iterador, você pode obter o próximo elemento do iterável usando a next()função:

colors = ['red', 'green', 'blue']
colors_iter = iter(colors)

color = next(colors_iter)
print(color)Linguagem de código:  Python  ( python )

Saída:

redLinguagem de código:  Python  ( python )

Cada vez que você chama a next()função, ela retorna o próximo elemento no iterável. Por exemplo:

colors = ['red', 'green', 'blue']
colors_iter = iter(colors)

color = next(colors_iter)
print(color)

color = next(colors_iter)
print(color)

color = next(colors_iter)
print(color)Linguagem de código:  Python  ( python )

Saída:

red
green
blueLinguagem de código:  Python  ( python )

Se não houver mais nenhum elemento e você chamar a next()função, receberá uma exceção.

colors = ['red', 'green', 'blue']
colors_iter = iter(colors)

color = next(colors_iter)
print(color)

color = next(colors_iter)
print(color)

color = next(colors_iter)
print(color)

# cause an excpetion
color = next(colors_iter)
print(color)
Linguagem de código:  Python  ( python )

Este exemplo mostra primeiro três elementos da lista de cores e depois emite uma exceção:

red
green
blue
Traceback (most recent call last):
  File "iterable.py", line 15, in <module>
    color = next(colors_iter)
StopIterationLinguagem de código:  Python  ( python )

O iterador tem estado. Isso significa que uma vez que você consome um elemento do iterador, ele desaparece.

Em outras palavras, depois de concluir o loop em um iterador, o iterador fica vazio. Se você iterar novamente, não retornará nada.

Como você pode iterar sobre um iterador, o iterador também é um objeto iterável. Isso é bastante confuso. Por exemplo:

colors = ['red', 'green', 'blue']
iterator = iter(colors)

for color in iterator:
    print(color)
Linguagem de código:  Python  ( python )

Saída:

red
green
blueLinguagem de código:  Python  ( python )

Se você chamar a iter()função e passar um iterador para ela, ela retornará o mesmo iterador.

Posteriormente, você aprenderá como criar iteráveis.

Resumo

  • Um iterável é um objeto que pode ser iterado. Um iterável tem a capacidade de retornar um de seus elementos por vez.
  • Um iterador é um agente que executa iteração. É estatal. E um iterador também é um objeto iterável.
  • Use a iter()função para obter um iterador de um objeto iterável e a função next() para obter o próximo elemento do objeto iterável.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *