list =[{'級別':1,'num':'a'},
{'級別':1,'num':'ab'},
{'級別':1,'num':'aasdf'},
{'級別':2,'num':'as'},
{'級別':2,'num':'sda'},
{'級別':3,'num':'asd'},
{'級別':2,'num':'sdwqw'},
{'級別':1,'num':'dqwee'},
{'級別':1,'num':'sre'},
{'級別':2,'num':'sxzxc'},
{'級別':2,'num':'sxzasdxc'},
{'級別':3,'num':'sxzsxc'},
{'級別':1,'num':'sxasdzxc'}]
要求級別為1并以'aa'開頭的元素,到下一個級別為1之間的元素全部洗掉
結果是這樣的
[{'級別':1,'num':'a'},
{'級別':1,'num':'ab'},
{'級別':1,'num':'aasdf'},
{'級別':1,'num':'dqwee'},
{'級別':1,'num':'sre'},
{'級別':2,'num':'sxzxc'},
{'級別':2,'num':'sxzasdxc'},
{'級別':3,'num':'sxzsxc'},
{'級別':1,'num':'sxasdzxc'}]
uj5u.com熱心網友回復:
lst =[{'級別':1,'num':'a'},
{'級別':1,'num':'ab'},
{'級別':1,'num':'aasdf'},
{'級別':2,'num':'as'},
{'級別':2,'num':'sda'},
{'級別':3,'num':'asd'},
{'級別':2,'num':'sdwqw'},
{'級別':1,'num':'dqwee'},
{'級別':1,'num':'sre'},
{'級別':2,'num':'sxzxc'},
{'級別':2,'num':'sxzasdxc'},
{'級別':3,'num':'sxzsxc'},
{'級別':1,'num':'sxasdzxc'}]
s = None
for i,j in enumerate(lst):
l = list(j.values())
if l[0] == 1 and l[1][:2] == 'aa' :
s = i
elif l[0] == 1 and s != None:
del lst[s+1:i]
break
print(lst)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/283666.html
