解决列表中存放的电影字典信息模糊删除问题的方法分析

#方法1,通过将循环值与删除元素后下标的动态变化保持一致,可以使用模糊删除(可以通过下标逐个删除模糊匹配列表对应的元素)
# numbers=[1,2,2,4,4,2,3,4,5,2,3,4,2,3]
# i=0
# def remove(x):
#     global i,numbers
#     while i<=len(numbers)-1:
#         if numbers[i]==x:      #remove删除
#		 if x in numbers:		#pop删除
#             numbers.remove(x)    #简单理解就是元素删除了,该元素对应的下标也被删除了,需要把该元素使用的下标也减掉1,把该下标留给后面的元素使用,保证下次循环还是使用该下标,当第二个元素,也就是下标为1的2被删除后,列表里面的元素会自动将被删除的2的元素的下标填上,后面的元素下标也会依次减一,所以在删除元素时,让循环值不变就可以避免遗漏掉遍历的元素了
#             i-=1
#         i+=1
#     return print(numbers)
# remove(2)

#方法2,倒序遍历列表下标(可以使用remove和和pop删除),可以使用模糊删除(可以通过下标逐个删除模糊匹配列表对应的元素)
# def remove(x):
#     numbers = [2, 3, 4, 2, 3, 4, 5, 3, 4, 3]
#     i=len(numbers)
#     while i>=0:
#         i -= 1
#         if numbers[i]==2:
#             numbers.pop(i)
#             # numbers.remove(x)
#     return print(numbers)
# remove(2)

#方法3.死循环删除(只能通过remove删除),无法进行模糊删除(只能精确删除列表中存在的元素),没有循环条件,无法通过动态变量模拟下标变化来删除元素
def remove(x):
    numbers=[2,3,4,2,4,5,3,4]
    while True:
        if x in numbers:
            numbers.remove(x)
        else:
            break
    return print(numbers)
remove(2)