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]