python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python中b=a和b=a[:]有什么不同

Python中b=a和b=a[:]到底有什么不同?新手必看

作者:0!+0!=3

还在为Python中修改变量后另一个也跟着变而困惑吗?本文用最直白的方式讲解赋值(b=a)和复制(b=a[:])的核心区别,帮你理解对象引用和内存地址,从此告别列表操作中的意外错误

Python中b=a和b=a[:]有什么不同

b=a 为赋值

赋值后,a和b两者指向的是同一对象,改动其中一个的元素,另一个也会跟着改

a=[1,2,3]
b=a
a.append(4)
print(a,b)
a=[1, 2, 3, 4]
b=[1, 2, 3, 4]

b=a[:]为复制

此时a和b两者指向的是不同的对象,两者的元素改动不会互相影响

a=[1,2,3]
b=a[:]
a.append(4)
print(a,b)
a=[1, 2, 3, 4] 
b=[1, 2, 3]

python中,不同的对象为不同的内存地址,变量可以理解为对象的快捷方式

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文