Worte mit 10 oder mehr Buchstaben aus einer Python liste extrahieren?

4 Antworten

Und wo ist dein bisheriger Ansatz und dein bisheriger Code?

Du kannst einfach die Länge eines Strings namens "string" mit len(string) überprüfen. Entweder nutzt du also eine klassische Schleife oder nimmst eben eine List Comprehension dafür

Es geht auch mit filter()

a = ["abc","abcdefghij"]

iterator = filter(lambda x: len(x)>=10, a)
liste = list(iterator)

print(liste)

Am geschicktesten verwendet man, wenn möglich, den Iterator weiter ohne ihn in eine Liste umzuwandeln.

liste_mit_worten = ['foo', 'bar', 'foobar', 'fizz', 'buzz', 'fizzbuzz']
liste_mit_worten_laenger_als_4 = [wort for wort in liste_mit_worten if len(wort) > 4]
print(liste_mit_worten)
print(liste_mit_worten_laenger_als_4)

gibt als Ausgabe

['foo', 'bar', 'foobar', 'fizz', 'buzz', 'fizzbuzz']
['foobar', 'fizzbuzz']

Das kannst du jetzt noch an deine Gegebenheiten anpassen und fertig ist's.

Einfach die Länge auslesen und durch eine Schleife ausfiltern ... fertig! :-)

Woher ich das weiß:Hobby – Programmierer, EDV, ... seit den 80er :)