Python for döngüsü list sayısı hatası

Katılım
25 Ağustos 2020
Mesajlar
678
Çözümler
5
Python:
ignored = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", ",", "(", ")"]
data = "test12344"
data = list(data)

for i in ignored:
    for item in data:
        if item == i:
            print(item)
            #data = data[data.index(item) + 1:]
            data[data.index(item)] = ""
            break
        else:
            print(item)
            continue
for item in data:
    print(item, end="")

Bu kodu, ilk listedeki değerleri, data versinden silmesi için yazdım ancak hep şu sonucu alıyorum: Test4.
Hiçbir zaman sonuncuyu ya da farklı senaryolarda art arda aynı silinmesi gereken karakterleri silmeden bırakıyor. Çözümü var mı?
 
in koşulunu kullanabilirsin. kelime in yazı şeklinde bir kullanımda istenen kelime, yazının içinde varsa True olarak geri dönüş yapar.

Kodu iyice düzenleyip attım. Anlamadığın kısımları sorabilirsin.

Python:
ignored = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", ",", "(", ")"]
data = "test12344"
data = list(data)

for i in ignored:
    while i in data:
        del data[data.index(i)]

print("".join(data))
 

Geri
Yukarı