newL = names[:]
newL = names[:]
列表复制多个列表
复制操作1:
names=["lihua","zhangsan"]
newl=names[:]
print(newl)
newl[0]="wangli"
print(newl)
操作2:
names=["lihua","zhangsan"]
newl=names
newl[0]="wangli"
print(newl)
多个复制:
newl=names
x[:]有复制x的数据
y = x 给了访问的地址
复制可以用*
比如:x[]*5
复制列表
1.newL = names[:] names和newL是两块不同的内存区域,是正确的复制方式
2.newL = news 但是修改newL会对原始列表产生影响,这并不是复制,newL和names指向的同一块内存区域。不是正确的复制方式
3.newL = names*2 复制多分,这也是正确的复制方式
23.列表的遍历(列表也叫集合)
for循环格式:不能随便添加缩进,记住
for name in names : print(name)
通过索引方式遍历列表:
for temp in range(0,len(names)) : print(names[temp])
24.生成有规律的数字列表:
range(3,10)表示一段数字,但还不是列表,需要转换成列表,则为 list(range(3,10)),print后即为[3,4,5,6,7,8,9] 可以看出,包含开始不包含结束,默认自动增长的步长为1;当写成list(range(3,10,3))时,表示为[3,6,9],此时步长为3;
25.数字列表的简单统计:
min(列表名):即为求列表中的最小值;
max(列表名):即为求列表中的最大值;
sum(列表名):即为将列表中的元素求和;
list = [ t**2 for t in range(1,11) ],其中t**2表示列表中每一个元素做平方处理;
26.列表的复制
newList = names[:]; (对)
如果是newList = names是把names的地址给了newList,此时改变newList时,names也改变了,相当于java中的变量为引用类型时的情况;newList = names*2表示复制了两份
复制列表:
1. newL = names [ : ]
会在内存里复制一份新的数据
2. newL = names * N
在内存里指向同一个原数据(即仅复制了引用)
*N:复制多份
列表的复制
1 newl = name[:]
互不影响
newl=name
相互影响
内存 地址