列表
首先要知道Python是如何管理对象和变量的:在Python中,变量仅仅是指向对象的标签。
a = [1, 2, 3]
b = a
上述语句表示创建了标签a,指向了列表[1, 2, 3],创建标签b,指向a所指向的列表。
当修改a时,b也会被修改,反之也一样。
想要创建新的列表,可以有如下几种方式:
1、切片
b = a[:]
2、list()
b = list(a)
3、乘法?
b = a * 1
4、copy()
import copy
b = copy.copy(a)
c = copy.deepcopy(a)
deepcopy可以复制列表中的子列表,也就是为a中所有的元素都建立了新的对象。而其他的几种方法没有办法复制子列表。
遍历列表
a = [1, 2, 3, 4, 5]
for i in a:
print(i)
a.remove(i)
'''
输出结果为
1
3
5
'''
在遍历列表时,在循环内部使用remove方法删除元素,会出现输出信息错误的情况。如上面代码,第一个数字 1 进来,打印出1,在a中去掉1,列表变成了[2, 3, 4, 5]。再次进入循环时,应该取出列表的第二个数字,由于去掉了1,所以第二个元素变成了3, 跳过了2。