a=[0,1,2,3]
b=[1,2,3,4,5,6,7,8,9]
for i in range(4):
if a[i] not in b:
del a[i]
print a
我收到此错误 IndexError:列表索引超出范围 我不知道为什么?
答案 0 :(得分:0)
集的属性可用于此类问题。 对于上述问题,首先我们可以将两个列表都转换为集合,然后将它们进行交集。
set_a = set(a)
set_b = set(b)
common_elements_set = set_a.intersection(set_b)
common_elements_list = list(common_elements_set)
答案 1 :(得分:-1)
将range(4)
更改为range(3)
。
这是因为i==0
时,您从列表a
中删除了该元素,因此列表的长度变为3
而不是4
。