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.

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

blog

20 preguntas principales de la entrevista sobre SQL Joins

Prepara tu entrevista SQL con esta lista de las preguntas más comunes sobre SQL Joins
Javier Canales Luna's photo

Javier Canales Luna

15 min

blog

Las 8 principales competencias de los analistas de negocio para 2024

Explore las principales competencias técnicas y sociales de los analistas de negocio necesarias para tener éxito y la mejor forma de mostrarlas en su cartera y en su currículum.
Joleen Bothma's photo

Joleen Bothma

11 min

blog

Las 10 principales conferencias sobre análisis de datos para 2024

Descubra las conferencias y eventos sobre analítica más populares programados para 2024.
Javier Canales Luna's photo

Javier Canales Luna

7 min

blog

Las 31 mejores preguntas y respuestas para entrevistas a analistas de negocio de todos los niveles

Explore las preguntas habituales en las entrevistas a analistas de negocio y sus respuestas para todos los niveles de experiencia.
Austin Chia's photo

Austin Chia

18 min

blog

5 formas únicas de utilizar la IA en el análisis de datos

El análisis de datos con IA está en auge entre los profesionales de los datos. Conozca en esta guía cinco formas únicas de aprovechar el poder de la IA para el análisis de datos.
Austin Chia's photo

Austin Chia

blog

Las 6 mejores certificaciones de analista de negocio: Su camino hacia la certificación

Explore las principales certificaciones de analista de negocio para mejorar su carrera. Infórmese sobre las ventajas, consejos de preparación y cómo puede ayudarle DataCamp.
Matt Crabtree's photo

Matt Crabtree

15 min

See MoreSee More