Ich habe eine Liste mit Strings, wovon manche Zahlen und andere Buchstaben bzw ganze Wörter enthalten.
Ich möchte alle Strings die nur Buchstaben enthalten in eine neue Liste speichern, wie bekomme ich das hin.
Am besten ohne fertige Funktionen!
Prüfen ob ein String nur Buchstaben enthält
Zeig mal Code, was hast du schon probiert? Was geht nicht wie es soll? etc...
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Code: Alles auswählen
#!/usr/bin/env python3
import unicodedata
def is_just_letters(text):
return all(
unicodedata.category(character).startswith("L") for character in text
)
def main():
texts = [
"abc",
"not just letters",
"23",
"1e77er5",
"Ⅱ", # Roman number.
"ⅳ", # " "
"𝝮",
"(z)",
]
just_letters_texts = list(filter(is_just_letters, texts))
print(just_letters_texts)
if __name__ == "__main__":
main()
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 20
- Registriert: Freitag 23. Oktober 2020, 19:00
Nach reichlicher Überlegung gehe ich mir jetzt erst mal einen Kaffee holen.
Kann das mal jemand löschen?
Kann das mal jemand löschen?
Hm, ich hätte vermutlich eher an so etwas wie__blackjack__ hat geschrieben: ↑Mittwoch 16. Juni 2021, 19:52Code: Alles auswählen
#!/usr/bin/env python3 import unicodedata def is_just_letters(text): return all( unicodedata.category(character).startswith("L") for character in text )
Code: Alles auswählen
all([char.isalpha() for char in some_string])
isalpha() funktioniert auch für mehrere Zeichen. Es prüft, ob alle Zeichen Buchstaben sind. Das braucht man also nicht nachzubauen.
Zum Testen für alle Wörter:
Zum Testen für alle Wörter:
Code: Alles auswählen
all(word.isalpha() for word in text.split())