错误一、for string in list中用了 remove,导致没有遍历完整个list:
错误代码如下:
for string in str_list:
if string == word:
str_list.remove(string)
错误二、对有大于一层的list,用了浅复制
错误代码如下:
a = [[1]]
b = a.copy() # 浅拷贝
b[0][0] = 2 #这时修改 b 的值,a 的值也会改变
需要借助copy 这个包
import copy
a = [[1]]
b = copy.deepcopy(a)
b[0][0] = 2 #这时再修改list的内容,a的内容不会跟着变了
错误3、错误使用list的初始化
因为 [[]]*9 相当于对一个list复制了 9 遍,生成二维list的正确方式为:
list = [[] for i in range(9)]