模糊删除列表元素的可行性分析

it2022-05-28  81

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

#方法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)

转载于:https://www.cnblogs.com/endmoon/articles/9618409.html

相关资源:数据结构—成绩单生成器

最新回复(0)