For Döngüsünün İçinde Listedeki Şeyi Nasıl Silebilirim ?

Anladım.

Örneğinizi nasıl kullanacağımı bilmediğim için, başka bir örnek üzerinde, iki farklı liste üzerinde silme işlemini denemeye çalıştım. Ancak tuhaf bir sorunla karşılaştım.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

a = [i for i in range(10)]
b = [i**2 for i in range(10)]

print(a)
print(b)

for i in a:
    for j in b:
        if i == j:
            a.remove(i)
            b.remove(j)

print(a)
print(b)

Bu yazdığım kodlar ile aşağıdaki çıktıyı aldım:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[1, 2, 3, 5, 6, 7, 8]
[1, 16, 25, 36, 49, 64, 81]

Yukarıdaki örneğe göre 0, 4 ve 9 her iki listede olduğu için silindiler. Ancak 1 de her iki listede bulunuyor ve silinmemiş. Yani bu yazdığım komut tam anlamıyla istediğim tarzda bir silme işlemi yapmadı. Acaba sizin de sorununuz buna benziyor mu diye düşünüyorum.