Elemente aus Dict / Liste unabhängig vom Wert entfernen
Verfasst: Mittwoch 28. Oktober 2020, 17:09
Hallo, schaut euch bitte mal folgendes beispielhaftes Dictionary an:
Ich möchte nun die Einträge, bei welchen sich als Wert hinten ein Buchstabe befindet, wie beispielsweise q oder d, in eine neue Liste packen und zwar als Float-Variable. Allerdings nur die Zahl davon, nicht der Buchstabe wie q oder d. Es gibt auch Einträge, die nicht eine Zahl mit einem Buchstaben als Wert haben. Diese sollen ignoriert werden, wurden schon davor in eine andere Liste gepackt.
Wichtig dabei ist: ob und welcher Buchstabe bei einem Wert im Dict steht, wissen wir nicht. Sprich wir können das nicht hard-coden.
Ebenfalls zu beachten: Meine Problemstellung habe ich auf dieses Beispiel übertragen. Wie schon erwähnt, gibt es auch noch andere Einträge. Diese werden mit der if-Bedingung im if-Statement abgefangen.
Die Einträge, die uns interessieren, sollen im else-Statement bearbeitet werden.
Ich habe dabei nur Lösungen gefunden, welche allerdings hard-gecodet sind:
Das schaut dann beispielsweise so aus:
Ich hoffe ich habe das einigermaßen verständlich erklärt.
Könnt ihr mir hier weiterhelfen, wie ich das ganze so automatisieren kann, dass ich nicht wissen muss, welcher Buchstabe gerade "daher kommt"?
Liebe Grüße
Spedex
Code: Alles auswählen
dict_test = {"eintrag1":"9 q", "eintrag2":"12 d", "eintrag3":"Etwas anderes"}
Wichtig dabei ist: ob und welcher Buchstabe bei einem Wert im Dict steht, wissen wir nicht. Sprich wir können das nicht hard-coden.
Ebenfalls zu beachten: Meine Problemstellung habe ich auf dieses Beispiel übertragen. Wie schon erwähnt, gibt es auch noch andere Einträge. Diese werden mit der if-Bedingung im if-Statement abgefangen.
Die Einträge, die uns interessieren, sollen im else-Statement bearbeitet werden.
Ich habe dabei nur Lösungen gefunden, welche allerdings hard-gecodet sind:
Das schaut dann beispielsweise so aus:
Code: Alles auswählen
dict_test = {"eintrag1":"9 q", "eintrag2":"12 d", "eintrag3":"Etwas anderes"}
neue_Liste = []
for key in dict_test:
if "Etwas anderes" in dict_test[key]:
...
else:
try:
neue_Liste.append(float(neue_Liste[key].strip("q")))
except:
pass
try:
neue_Liste.append(float(neue_Liste[key].strip("d")))
except:
pass
Könnt ihr mir hier weiterhelfen, wie ich das ganze so automatisieren kann, dass ich nicht wissen muss, welcher Buchstabe gerade "daher kommt"?
Liebe Grüße
Spedex