python 遇到的错误集合

错误一、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)]
发布了45 篇原创文章 · 获赞 1 · 访问量 3378

猜你喜欢

转载自blog.csdn.net/qq_22498427/article/details/104453886
今日推荐