Belki çözümleriniz ints ile çalışır, ama benim için sözlüklerle işe yaramıyor.
Bir yandan, remove () benim için çalışmadı. Ama belki temel tiplerle çalışır. Ben kod feryat da nesneler listesinden öğeleri kaldırmak için bir yol sanırım.
Öte yandan, 'del' de düzgün çalışmadı. Benim durumumda, python 3.6 kullanarak: 'del' komutuyla bir 'for' dizesindeki bir öğeyi silmeye çalıştığımda, python işlemdeki dizini değiştirir ve bucle zamanından önce durur. Yalnızca öğeleri ters sırayla sildiğinizde çalışır . Bu şekilde, beklemedeki öğeler dizini dizinini geçerken değiştirmezsiniz.
Sonra kullandım:
c = len(list)-1
for element in (reversed(list)):
if condition(element):
del list[c]
c -= 1
print(list)
burada 'liste' [{'anahtar1': değer1 '}, {' anahtar2 ': değer2}, {' anahtar3 ': değer3}, ...]
Ayrıca numaralandırma kullanarak daha fazla pitonik yapabilirsiniz:
for i, element in enumerate(reversed(list)):
if condition(element):
del list[(i+1)*-1]
print(list)