Dieser Code dient zum Entfernen von Wörtern aus Listen, die mit einem angegebenen Buchstaben beginnen. Das Problem ist, dass es nur einige der Einträge entfernt. Wenn ich es ausführen, um Wörter zu entfernen, die mit 'a' beginnen, werden nur 'ana', 'agra', 'aba' entfernt. Warum? Ist es auch möglich, die Bedingung neu zu schreiben, um eine Reihe von Buchstaben einzuschließen, sagen wir zum Beispiel a-i?python Entfernen von Elementen aus einer Liste
def delete_from_list():
discarded=[]
#list_of_terms = pickle.load(open("list_it.txt", "rb"))
list_of_terms = ['ana', 'agro','agra',' aaa','aba','bab','Banana', 'band', 'bink' ]
print('start length = ', len(list_of_terms))
for item in list_of_terms:
item.lower().strip()
if item.startswith('a'):
discarded.append(item)
list_of_terms.remove(item)
print('end_length = ', len(list_of_terms))
print(discarded, list_of_terms)
Vielen Dank für Ihre Zeit und Hilfe.
Komm, ich brauchte weniger als 30 Sekunden, um das Duplikat zu finden – DeepSpace
Wenn du etwas aus einer Liste entfernst, während du es durchläufst, überspringst du einen Gegenstand, anstatt zum nächsten zu gehen. Versuchen Sie, die Elemente innerhalb der for-Schleife zu drucken, Sie untersuchen sie nicht wirklich alle. Verwenden Sie 'Filter' oder ein Listenverständnis, um Aufgaben wie diese zu erledigen –
Danke für die Hilfe. Ich werde das tun. Das wusste ich nicht. Die Zurückhaltung entgeht mir immer wieder, ich fürchte, – user1478335