Estructuras de datos básicas: Listas y Tuplas

Educator Courses » Programación básica en Python » Estructuras de datos básicas: Listas y Tuplas

Cómo iterar sobre los elementos de una lista/tupla?

Contents

Para iterar sobre los elementos de una tupla podemos hacer uso de los diferentes controles de flujo que Python tiene, por ejemplo for y while.

for

En Python es muy común usar “for”, es super simple, tal como si lo hablaramos en inglés: “for item in sequence”.

Supongamos que tenemos una lista de 10 elementos.

>>> seq = range(10)
>>> seq
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>

y queremos iterar sobre los elementos para imprimirlos.

>>> for item in seq:
...     print item
...
0
1
2
3
4
5
6
7
8
9
>>>

Que se traduce en “Por cada elemento en sequencia, imprime elemento”. Nada complicado verdad?.

Dentro de ese bloque podemos hacer lo que nosotros querramos, por ejemplo (simple) imprimir solo los pares (y el cero):

>>> for item in seq:
...     if item % 2 == 0:
...             print item
...
0
2
4
6
8
>>>

Un uso avanzado de for  se verá en el capítulo de control de flujo.

while

while  es un iterador donde dependiendo de la condición, si esta se evalúa en “True” se realizará un nuevo ciclo, es decir while <condicición es true>: iteración .

Aqui podemos aprovecharnos del orden en que python evalúa las sentencias, es decir, python siempre va a verificar si la condición es true o false, convertirá cualquier posible valor a un valor booleano, entonces podemos usar objetos que tengan la capacidad de ser evaluados como True/False o aprovecharnos de los tipos de datos que ya conocemos.

 

>>> seq = range(10)
>>> seq
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> while seq:
...     print seq.pop()
...
9
8
7
6
5
4
3
2
1
0
>>> seq
[]

OJO:While no hace una iteración secuencial, while solo requiere que la condición sea evaluada como True, si esta condición se cumple entonces realiza la iteración, pero no asigna ningún valor a ninguna variable.

Como podemos ver en el ejemplo de arriba, usamos la variable seq (una lista con 10 elementos) como condición. Según Python cualquier lista con al menos un elemento se evalúa como True , con .pop() removemos el último elemento en la secuencia, asi que cada que se evalúa seq  este va teniendo un objeto menos hasta que ya no tiene ninguno y por tanto la secuencia es evaluada como False , entonces while deja de ciclar.

Loading

You must be logged in to take the quiz.