Foros del Web » Programando para Internet » Python »

¿Utilizar dos variables en un for?

Estas en el tema de ¿Utilizar dos variables en un for? en el foro de Python en Foros del Web. Cuando uno estudia los ciclos for, normalmente se explica su funcionamiento básico y el anidamiento entre ellos. Luego, a partir de ahí, uno va experimentando. ...
  #1 (permalink)  
Antiguo 22/10/2014, 12:14
 
Fecha de Ingreso: diciembre-2009
Ubicación: Spain
Mensajes: 180
Antigüedad: 11 años, 9 meses
Puntos: 9
¿Utilizar dos variables en un for?

Cuando uno estudia los ciclos for, normalmente se explica su funcionamiento básico y el anidamiento entre ellos. Luego, a partir de ahí, uno va experimentando. Pero en pocos manuales he visto utilizar dos variables en la cabecera del for ¿Es infrecuente su uso?

Ej (la tabla del 5):

Código Python:
Ver original
  1. tabla = [(num, num * 5) for num in range(11)]
  2. for num, i in tabla: # dos variables 'num' e 'i'
  3.     print(num, '* 5 = ', i)

Salida:

0 * 5 = 0
1 * 5 = 5
2 * 5 = 10
3 * 5 = 15
4 * 5 = 20
5 * 5 = 25
6 * 5 = 30
7 * 5 = 35
8 * 5 = 40
9 * 5 = 45
10 * 5 = 50

¿Se recomienda usar solo una variable en la cabecera del for?
  #2 (permalink)  
Antiguo 22/10/2014, 23:06
Avatar de ggomez91  
Fecha de Ingreso: octubre-2008
Mensajes: 181
Antigüedad: 12 años, 11 meses
Puntos: 13
Respuesta: ¿Utilizar dos variables en un for?

En python es muy común ver esto. Con frecuencia uno quiere iterar sobre dos colecciones o poder tener un indice y el i-esimo elemento de una colección.
  #3 (permalink)  
Antiguo 25/10/2014, 14:51
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 16 años, 6 meses
Puntos: 1360
Respuesta: ¿Utilizar dos variables en un for?

Si, es muy común es algo llamado unpacking, y se utiliza en muchos mas lugares que solo el for. Y en python 3, añaden cosas mas complejas.

Etiquetas: variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:10.