python默认序列支持+和*操作的.下面几种列表的赋值有的是生成一个新的列表,有的仍是原有列表.
1 ls1=[1,2,3,5,6,8] 2 ls2=ls1 3 ls2.append(9) 4 print(ls2) 5 print(ls1)
这个输出结果可以猜出来,lst1和lst2一样,都追加了9.因为两者都指向同一个内存地址.但下面的代码就不同了:
1 lst1=[1,2,3,6,8] 2 lst2=lst1[:] 3 print(id(lst1)) 4 print(id(lst2))
从结果来看,lst1和lst2指向了不同的内存地址
1 lst1=[1,2,3,6,8] 2 lst2=lst1*1 3 print(id(lst1)) 4 print(id(lst2))
输出结果和切片操作一样,指向了不同的内存地址
原文地址:https://www.cnblogs.com/min-R/p/10197864.html
时间: 2024-10-04 22:10:00