← Volver
El bucle
Usando la función
Esto imprime:
(1, 2)
(3, 4)
(5, 6)
(7, 8)
(9, 10)
Otro ejemplo:
Si el número de elementos del objeto recorrido no es múltiplo del segundo argumento, entonces en la última iteración se recibe una tupla con menos elementos:
Salida:
(1, 2)
(3, 4)
(5, 6)
(7, 8)
(9, 10)
(11,)
Para recorrer de a tres elementos:
Salida:
(1, 2, 3)
(4, 5, 6)
(7, 8, 9)
(10, 11, 12)
Código de la función (forma parte de las recetas de Python):
Cómo recorrer un objeto iterable en grupos o bloques
for
permite recorrer los elementos de un objeto iterable uno a la vez:numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for n in numeros:
print(n)
Usando la función
batched()
, se puede recorrer de a dos o más elementos:# par recibe una tupla de dos elementos.
for par in batched(numeros, 2):
print(par)
Esto imprime:
(1, 2)
(3, 4)
(5, 6)
(7, 8)
(9, 10)
Otro ejemplo:
Si el número de elementos del objeto recorrido no es múltiplo del segundo argumento, entonces en la última iteración se recibe una tupla con menos elementos:
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
for par in batched(numeros, 2):
print(par)
Salida:
(1, 2)
(3, 4)
(5, 6)
(7, 8)
(9, 10)
(11,)
Para recorrer de a tres elementos:
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
for triplete in batched(numeros, 3):
print(triplete)
Salida:
(1, 2, 3)
(4, 5, 6)
(7, 8, 9)
(10, 11, 12)
Código de la función (forma parte de las recetas de Python):
from itertools import islice
def batched(iterable, n):
"Batch data into tuples of length n. The last batch may be shorter."
# batched('ABCDEFG', 3) --> ABC DEF G
if n < 1:
raise ValueError('n must be at least one')
it = iter(iterable)
while (batch := tuple(islice(it, n))):
yield batch
👨💻 ¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.
🐍 También te puede interesar:
💡 Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.