De vez en cuando, es útil intercambiar los valores de dos variables. Para hacerlo con sentencias de asignación convencionales debemos usar una variable temporal. Por ejemplo, para intercambiar a y b:
1: >>> temp = a
2: >>> a = b
3: >>> b = temp
Si tenemos que hacer esto a menudo, esta aproximación resulta aparatosa. Python proporciona una forma de asignación de tuplas que soluciona este problema elegantemente:
1: >>> a, b = b, a
El lado izquierdo es una tupla de variables, el lado derecho es una tupla de valores. Cada valor se asigna a su respectiva variable. Todas las expresiones del lado derecho se evalúan antes de las asignaciones. Esta característica hace de la asignación de tuplas algo muy versátil.
Naturalmente, el número de variables a la izquierda y el número de valores a la derecha deben ser iguales:
1: >>> a, b, c, d = 1, 2, 3
2: ValueError: unpack tuple of wrong size
Comentarios
Publicar un comentario