У меня есть список словарей длиной 793. Когда я пытаюсь удалить элементы из списка на основе оператора if, не все элементы удаляются. Несколько элементов по-прежнему остаются в списке, все элементы удаляются только после нескольких итераций одного и того же кода.
>>> len(data_list)
793
>>> for i, device in enumerate(data_list):
... if 'PSS' in device['type']:
... print (i)
... del (data_list[i])
...
47
83
127
207
279
...
...
734
745
746
747
>>> for i, device in enumerate(data_list):
... if 'PSS' in device['type']:
... print (i)
... del (data_list[i])
...
279
313
355
399
440
443
471
499
505
515
528
734
>>> for i, device in enumerate(data_list):
... if 'PSS' in device['type']:
... print (i)
... del (data_list[i])
...
734
>>> for i, device in enumerate(data_list):
... if 'PSS' in device['type']:
... print (i)
... del (data_list[i])
...
>>>