Saltar al contenido principal
InicioTutorialesPython

Tutorial de bucles For en Python

Aprenda a implementar bucles For en Python para iterar una secuencia, o las filas y columnas de un dataframe pandas.
may 2024  · 5 min leer

Introducción

Al igual que en otros lenguajes de programación, los bucles for en Python son un poco diferentes en el sentido de que funcionan más como un iterador y menos como una palabra clave for. En Python, no existe C como sintaxis for(i=0; i sino que se utiliza for in n.

Pueden utilizarse para iterar sobre una secuencia de a list, string, tuple, set, array, data frame.

Dada una lista de elementos, se puede utilizar el bucle for para iterar sobre cada elemento de esa lista y ejecutarlo.

Para iterar sobre una serie de elementos Los bucles For utilizan la función range. La función range devuelve una nueva lista con números del rango especificado en función de la longitud de la secuencia.

Al iterar sobre una secuencia también se puede utilizar el índice de los elementos de la secuencia para iterar, pero la clave está en calcular primero la longitud de la lista y luego iterar sobre las series dentro del rango de esta longitud.

Los bucles for en Python tienen índice cero.

Pasemos rápidamente a la parte de la aplicación.

También puedes ver este vídeo para un tutorial rápido.

Empieza a aprender Python gratis

Python intermedio

BeginnerSkill Level
4
1.1M learners
Mejora tus conocimientos de ciencia de datos creando visualizaciones con Matplotlib y manipulando DataFrames con pandas.
See DetailsRight Arrow

Implementación de bucles

Para empezar, vamos a imprimir números del 1 al 10. Dado que los bucles for en Python están indexados a cero, tendrá que añadir uno en cada iteración; de lo contrario, mostrará valores de 0-9.

for i in range(10):
    print (i+1)
1
2
3
4
5
6
7
8
9
10

Vamos a iterar sobre una cadena de una palabra Datacamp utilizando el bucle for y sólo imprimir la letra a.

for i in "Datacamp":
    if i == 'a':
        print (i)
a
a
a

Digamos que quieres definir una lista de elementos e iterar sobre esos elementos uno a uno.

sequence = [1,2,8,100,200,'datacamp','tutorial']
for i in sequence:
    print (i)
1
2
8
100
200
datacamp
tutorial

Pero, ¿y si quieres averiguar la longitud de la lista y luego iterar sobre ella? Para ello utilizará la función incorporada len y luego en la salida de longitud aplicará range.

Recuerde que range siempre espera un valor entero.

for i in range(len(sequence)):
    print (sequence[i])
1
2
8
100
200
datacamp
tutorial

¡Estupendo! Pero, ¿por qué es necesario utilizar la función len cuando se puede utilizar directamente for i in numbers? La respuesta es sencilla. ¿Qué pasa si desea modificar o trabajar con los índices de la secuencia como cambiar el elemento de una lista existente, entonces usted necesitaría range(len(sequence)).

for i in range(len(sequence)):
    element = sequence[i]
    if type(element) == int:
        sequence[i] = element + 4
sequence
[5, 6, 12, 104, 204, 'datacamp', 'tutorial']

Mola, ¿verdad? Ha podido modificar los elementos de la lista en función de la condición if.

Veamos ahora cómo imprimir números impares entre 1 y 20. Para ello, tendrá que definir tres cosas en la función range. El punto inicial, el punto final y el valor de incremento (o pasos) en los que el bucle se incrementará sobre los números 1 - 20.

for i in range(1,20,2):
    print (i)
1
3
5
7
9
11
13
15
17
19

Bucle For anidado

for i in range(11):
    for j in range(i):
        print (i, end=' ')
    print()
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
6 6 6 6 6 6
7 7 7 7 7 7 7
8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9
10 10 10 10 10 10 10 10 10 10

Bucle For para iterar sobre filas y columnas de un marco de datos

import pandas as pd
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
iris.head()
  sepal_length sepal_width petal_length petal_width especies
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
len(iris)
150
for i in range(len(iris)):
    Class = iris.iloc[i,4]
    if Class == 'versicolor' and i < 70:
        print (Class)
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor
versicolor

A continuación, añadamos dos a cada fila de las columnas sepal_length,sepal_width, petal_length y petal_width.

columns = ['sepal_length','sepal_width','petal_length','petal_width']
for indices, row in iris.iterrows():
    for column in columns:
        iris.at[indices,column] = row[column] + 2
iris.head()
  sepal_length sepal_width petal_length petal_width especies
0 7.1 5.5 3.4 2.2 setosa
1 6.9 5.0 3.4 2.2 setosa
2 6.7 5.2 3.3 2.2 setosa
3 6.6 5.1 3.5 2.2 setosa
4 7.0 5.6 3.4 2.2 setosa

Iterar sobre una secuencia con la función Lambda

La función lambda de Python es rápida y potente en comparación con el bucle básico for. Su uso está muy extendido, sobre todo cuando se trata de Dataframes. Puede procesar sus datos con la ayuda de la función Lambda con muy poco código. Aunque a veces resulta difícil entenderlo.

x = [20, 30, 40, 50, 60]
y = []
for v in x :
    y += [v * 5]
y
[100, 150, 200, 250, 300]

Ahora, probemos esto con una función lambda y map.

Map toma una función, por ejemplo, una función lambda y una secuencia x y devuelve una nueva secuencia.

y = map(lambda x: x * 5,x)
y
<map at 0x11be7cc88>

Devuelve una función generadora y para obtener la salida del generador; se pasa la salida como argumento a list.

list(y)
[100, 150, 200, 250, 300]

Ahora, demos un paso atrás y veamos tanto la forma de bucle for como la combinación lambda/map(). Observará que la diferencia entre los dos es la adición de map, lambda, y la supresión de "para" e "in". Y además, en una sola línea, fuiste capaz de codificarlo.

Conclusión

Enhorabuena por haber terminado este tutorial básico del bucle For de Python.

Los bucles For son la columna vertebral de todo lenguaje de programación y cuando se trata de Python, utilizar bucles For no es nada difícil de codificar, y su espíritu es similar al de escribir una frase en inglés.

Si desea obtener más información sobre los bucles for en Python, siga el curso Python Data Science Toolbox (Part 2) de DataCamp.

No dudes en hacer cualquier pregunta relacionada con este tutorial en la sección de comentarios más abajo.

Temas

Cursos de Python

Course

Introduction to Python

4 hr
5.5M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

tutorial

Tutorial de Pandas: DataFrames en Python

Explora el análisis de datos con Python. Los DataFrames de Pandas facilitan la manipulación de tus datos, desde la selección o sustitución de columnas e índices hasta la remodelación de tus datos.
Karlijn Willems's photo

Karlijn Willems

20 min

tutorial

Tutorial de unión de DataFrames en pandas

En este tutorial, usted aprenderá varias maneras en las que múltiples DataFrames pueden ser fusionados en python usando la librería Pandas.
DataCamp Team's photo

DataCamp Team

19 min

tutorial

Tutorial seleccionar columnas con Python

Utiliza Python Pandas y selecciona columnas de los DataFrames. ¡Sigue nuestro tutorial con ejemplos de código y aprende hoy mismo distintas formas de seleccionar tus datos!
DataCamp Team's photo

DataCamp Team

7 min

tutorial

Tutorial de funciones de Python

Un tutorial sobre funciones en Python que cubre cómo escribir funciones, cómo invocarlas y mucho más.
Karlijn Willems's photo

Karlijn Willems

14 min

tutorial

Tutorial de multiprocesamiento en Python

Descubra los fundamentos del multiprocesamiento en Python y las ventajas que puede aportar a sus flujos de trabajo.
Kurtis Pykes 's photo

Kurtis Pykes

6 min

tutorial

Tutorial de visualización de datos con Python y Tableau

Aprende a utilizar Python para ampliar las funciones de visualización de datos de Tableau.
Abid Ali Awan's photo

Abid Ali Awan

15 min

See MoreSee More