Hallo,
kann man alle Zahlen aus einer Liste entfernen? Z.B. Liste: "1, d, 3, 5, a" Ausgabe: "d, a". Würde so etwas gehen?
Danke im voraus
pywald
Zahlen aus einer Liste entfernen
Würde ich mit isdigit() machen.
Code: Alles auswählen
>>> print(liste)
['1', 'd', '3', '5', 'a']
>>>
>>> neue_liste = []
>>>
>>> for eintrag in liste:
... if not eintrag.isdigit():
... neue_liste.append(eintrag)
...
>>> print(neue_liste)
['d', 'a']
>>>
>>>
>>> liste = neue_liste
>>>
>>> print(liste)
['d', 'a']
>>>
Alles was wir sind ist Sand im Wind Hoschi.
@pywald: In Python ist es unüblich Dinge "aus einer Liste" zu löschen. Man erstellt eine neue, die nur die Elemente enthält, die man benötigt. Daher auch das vorgehen von hyle. Da bietet sich aber auch eine list comprehension an. Und wenn nicht alle Elemente eine Zeichenkette sind, dann kann man die Prüfung, wie von __deets__ vorgeschlagen, mit isinstance machen:
Code: Alles auswählen
>>> values = [1, "d", 3, 5, "a"]
>>> selected_values = [value for value in values if isinstance(value, int)]
>>> selected_values
[1, 3, 5]
- __blackjack__
- User
- Beiträge: 14020
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
So etwas?
Falls das nicht das gesuchte ist, bräuchten wir wohl mehr Informationen was Du da tatsächlich hast und willst.
Code: Alles auswählen
In [450]: items = (item.strip() for item in "1, d, 3, 5, a".split(","))
In [451]: ", ".join(item for item in items if not item.isdigit())
Out[451]: 'd, a'
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.