Hallo zusammen.
ich komm ned ganz klar mit den RE in kombi mit Listen.
Angenommen ich habe eine Liste mit folgenden werten ["abc", "asd1", "123", "2322", "4545" ]
Wie bekomme ich es schnell uns dauber hin alle Einträge die keine reinen Zahlen sind zu entfernen ?
Hat da veilleicht jemand einen vorschlag für mich ?
Danke schon mal
Thonix
Listen und Reguläre Ausdrücke
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
Hi!
Gruß, mawe
Code: Alles auswählen
>>> lst = ["abc", "asd1", "123", "2322", "4545"]
>>> num = [item for item in lst if item.isdigit()]
['123', '2322', '4545']
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Thonix!thonix hat geschrieben:rein interessehalber. Wie würde es den aussehen wenn ich nach einem Re prüfen wollte
Code: Alles auswählen
# funktioniert aber nur bei Ganzzahlen
import re
old_list = ["abc", "asd1", "123", "2322", "4545" ]
re_c = re.compile("^[0-9]+$")
new_list = []
for item in old_list:
if re_c.match(item):
new_list.append(item)
print new_list
Code: Alles auswählen
# funktioniert auch bei Fließkommazahlen
old_list = ["abc", "asd1", "123.5656", "2322", "4545" ]
new_list = []
for item in old_list:
try:
dummy = float(item)
new_list.append(item)
except ValueError:
pass
print new_list
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Code: Alles auswählen
# funktioniert auch bei Fliesskommazahlen
import re
old_list = ["abc", "asd1", "123.1234", "2322", "4545" ]
re_c = re.compile(r"^[0-9]+\.?[0-9]*$")
new_list = []
for item in old_list:
if re_c.match(item):
new_list.append(item)
print new_list
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.