关于python列表元素的删除问题

删除列表里关于x的元素,但是输出后列表最后一个元素没删除,我当时输入的是3,但是最后一个3没删掉


l1 = [1, 3, 3, 0, -3, 5, 6, 8, 3, 10, 22, -1, 3, 5, 11, 20, 100, 3, 9, 3]
length = len(l1)
# print(length)  # 求出数组长度
x = eval(input())  # 输入要删除的元素
b = 0
for i in l1:
    if i == x:
        a = l1.index(i)
        l1.pop(a)
        b = b + 1
print(l1)
print(b)

运行结果:

img

for 是叠代,会跳过已删除索引