ich die Suche nach Hilfe bei der Manipulation eine Liste von Strings, wo ich extrahieren mag die Ziffern so hat enthalten:Manipulation einer Liste von Strings Ziffern zur Ausgabe eine Liste von Ziffern
x = ['aa bb qq 2 months 60%', 'aa bb qq 3 months 70%', 'aa bb qq 1 month 80%']
Ich versuche zu bekommen zu:
[[2.0,60.0],[3.0,70.0],[1.0,80.0]]
in einer eleganten Art und Weise.
Die erste Zahl sollte immer eine ganze Zahl sein, aber die zweite Zahl kann ein Schwimmer mit einem Dezimalwert sein um
meine schmutzige Arbeit ist dies:
x_split = [y.replace("%", "").split() for y in x]
x_float = [[float(s) for s in x if s.isdigit()] for x in x_split]
Out[100]: [[2.0, 60.0], [3.0, 70.0], [1.0, 80.0]]
Wird in '%' die Saiten immer enden? –
@ Farhan.K immer –
Da Sie zu Float konvertieren, gibt es keine Chance, nicht-ganze Zahlen in der Zeichenfolge auftreten? Wird es immer genau zwei Zahlen pro String geben? –