list中*号的作用

python学习网 2018-12-30 16:21:45

  python默认序列支持+和*操作的.下面几种列表的赋值有的是生成一个新的列表,有的仍是原有列表.

1 ls1=[1,2,3,5,6,8]
2 ls2=ls1
3 ls2.append(9)
4 print(ls2)
5 print(ls1)
View Code

这个输出结果可以猜出来,lst1和lst2一样,都追加了9.因为两者都指向同一个内存地址.但下面的代码就不同了:

1 lst1=[1,2,3,6,8]
2 lst2=lst1[:]
3 print(id(lst1))
4 print(id(lst2))
View Code

从结果来看,lst1和lst2指向了不同的内存地址

1 lst1=[1,2,3,6,8]
2 lst2=lst1*1
3 print(id(lst1))
4 print(id(lst2))

输出结果和切片操作一样,指向了不同的内存地址

 

阅读(6831) 评论(0)