您的当前位置:首页正文

Python中列表和字符串的赋值问题

2021-11-06 来源:客趣旅游网
Python中列表和字符串的赋值问题

在Python中,列表变量可以直接进⾏赋值,如下:

a = [1,2,3,4]b = aprint(b)

结果会显⽰ [1,2,3,4]

字符串也是⼀样的可以赋值,但是Python中并不是将列表或字符串复制⼀份再传给新变量,⽽是传地址例如:

a = [1,2,3,4]b = aa[0] = 5print(a)print(b)

结果会显⽰

[5,2,3,4][5,2,3,4]

可以看到 b 会随着 a 改变

如果不知道这个性质的话,写程序时会出现莫名其妙的bug如果要复制⼀份 a 传给 b ,可以⽤以下代码

a = [1,2,3,4]b = a[:]a[0] = 5print(a)print(b)

此时输出为

[5,2,3,4][1,2,3,4]

这种⽅法就是将 a 复制了⼀份传给 b

当然,基本只在列表中⽤到,字符串是不允许修改的,也就不会出现上⾯的问题

a = 'hello'a[0] = 'H'

#这⾥将会报错,字符串不允许修改

因篇幅问题不能全部显示,请点此查看更多更全内容