Primero voy a comenzar como todos los demás. Soy nuevo en Python. Mi maestro me dio el problema:Python scoping mutable vs inmutable
def f(a, b, c):
a = 1
c = b
c[0] = 2
a = 10
b = [11, 12, 13]
c = [13, 14, 15]
f(a, b, c)
print a, b, c
Imprime:
10 [2, 12, 13] [13, 14, 15]
que entender que una estancias en 10, porque los números enteros son inmutables, pero yo no entiendo por qué b y c cambios no lo hace .
También señalaría que esto no tiene que ver con que los tipos de datos sean mutables/inmutables. Como lo señalan las respuestas a continuación, se trata de la asignación de variables. La página [El modelo de datos] (http://docs.python.org/reference/datamodel.html) analiza esa diferencia. – Rob
lo que te confunde son solo los nombres de las variables, supongo. dé a los que están fuera de la función diferentes nombres, es decir, x, y, z, de modo que quiera llamar a f (x, y, z) e imprimir x, y, z. Y estoy seguro de que no será tan difícil de ver. – Danny