Mungkin solusi Anda bekerja dengan ints, tetapi itu tidak berfungsi untuk saya dengan kamus.
Di satu sisi, hapus () tidak berfungsi untuk saya. Tapi mungkin itu bekerja dengan Tipe dasar. Saya kira kode di bawah ini juga cara untuk menghapus item dari daftar objek.
Di sisi lain, 'del' juga tidak berfungsi dengan baik. Dalam kasus saya, menggunakan python 3.6: ketika saya mencoba untuk menghapus elemen dari daftar di 'for' bucle dengan perintah 'del', python mengubah indeks dalam proses dan bucle berhenti sebelum waktunya sebelum waktu. Ini hanya berfungsi jika Anda menghapus elemen demi elemen secara terbalik urutan . Dengan cara ini Anda tidak mengubah indeks array elemen yang menunggu saat Anda akan melewatinya
Kemudian, saya menggunakan:
c = len(list)-1
for element in (reversed(list)):
if condition(element):
del list[c]
c -= 1
print(list)
di mana 'daftar' seperti [{'key1': value1 '}, {' key2 ': value2}, {' key3 ': value3}, ...]
Anda juga dapat melakukan lebih banyak pythonic menggunakan enumerate:
for i, element in enumerate(reversed(list)):
if condition(element):
del list[(i+1)*-1]
print(list)