我知道这是一个基本问题,但这里很奇怪。
我不知道为什么会出错。请帮助我。提前致谢
arr = [11,22,33,44,55,66,77]
brr = [1,2,3,4,55]
res_arr = arr
for i in range(len(arr)):
if arr[i] in brr:
res_arr.remove(arr[i])
给我错误列表索引超出范围。
任何线索
编辑:
这有助于我解决错误。
res_arr = list(arr)
答案 0 :(得分:1)
使用list comprehension
。迭代元素时删除元素不是一个好主意。而res_arr = arr
并不符合您的想法。您需要了解如何在python中复制对象
<强>实施例强>
arr = [11,22,33,44,55,66,77]
brr = [1,2,3,4,55]
print([i for i in arr if i not in brr])
<强>输出:强>
[11, 22, 33, 44, 66, 77]
您可以使用复制模块在python中复制对象。
<强>实施例强>
import copy
res_arr = copy.deepcopy(arr)