1、循环删除列表中的元素
全部方法
list[:]表示提取出列表的元素
d = [1,2,3,4,5]
for i in d:
d.remove(i)
print d
#结果:[2, 4]
原因:
remove d[0]之后,i 自动变成了 d[1], 但是 d已经变成了 d[2,3,4,5],所以i=d[1]就指向了3,跳过了2!
更正:
d = [1,2,3,4,5]
for i in d[:]:
d.remove(i)
print d
2、复制列表的方法:
st = [1,2,3]
lst1 = lst[:] # one way
lst2 = list(lst) # another
3、列表拼接
l = ['a']
a = l[0]
a += 'b'
print(l) # ['a']
print(a) # ab
l = [['a']]
a = l[0]
a += ['b']
print(l) # [['a', 'b']]
print(a) #['a', 'b']
4、修改列表
直接修改对象–失败:
li = ["spam", "eggs"]
for i in li:
i = "foo"
结果失败:
li
["spam", "eggs"]
列表推到式–成功:
li = ["foo" for i in li]
结果:
li
["foo", "foo"]
遍历索引–成功
for idx in range(len(li)):
li[idx] = 'foo'
5、for循环中增加列表元素
for i in nums[]:
nums.append(1)
print(i)
结果:一直输出,死循环,不会终止
for i in nums[:]:
nums.append(1)
print(i)
结果:1 2 3
a=[1,2,3]
for j in a:#这里a和a[:]一样
a=a+[1]
print(a)
结果:只循环了三遍
[1, 2, 3, 1]
[1, 2, 3, 1, 1]
[1, 2, 3, 1, 1, 1]