Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python别名_Python_Aliasing - Fatal编程技术网

Python别名

Python别名,python,aliasing,Python,Aliasing,我理解,鉴于此代码 a = [1,2,3] b = [4,5,6] c = a 然后通过这样做 a[0] = 0 我将改变a和c的第一个位置。有人能解释一下为什么我这样做时不适用: a = b 为什么c不等于b?因为python从代码的开头到最后一行解释代码。因此,在将a分配给c之后,您已将b分配给a。在重新指定c之前,c的值不会更改 这回答了你的问题吗?这不是被问到的问题。他们在代码后面分配a=b,并期望c发生变化。 a = [1,2,3] b = [4,5,6] #

我理解,鉴于此代码

a = [1,2,3]
b = [4,5,6]
c = a
然后通过这样做

a[0] = 0
我将改变a和c的第一个位置。有人能解释一下为什么我这样做时不适用:

a = b

为什么c不等于b?

因为python从代码的开头到最后一行解释代码。因此,在将a分配给c之后,您已将b分配给a。在重新指定c之前,c的值不会更改

这回答了你的问题吗?这不是被问到的问题。他们在代码后面分配
a=b
,并期望
c
发生变化。
 a = [1,2,3]
 b = [4,5,6]

 #       a  ────────>    [1,2,3]
 #       b  ────────>    [4,5,6]


 c = a    # Changing 'c' to point at the list that 'a' points at

 #       c  ─────┐
 #       a  ─────┴──>    [1,2,3]
 #       b  ────────>    [4,5,6]


 a = b    # Changing 'a' to point at the list that 'b' points at

 #       c  ─────┐
 #       a  ──┐  └──>    [1,2,3]
 #       b  ──┴─────>    [4,5,6]