Seite 1 von 1

join list of float to string ohne None

Verfasst: Donnerstag 12. Mai 2022, 11:33
von Hase
Hallo,
ich habe eine Liste

Code: Alles auswählen

a=[1.1, 2.2, None, 4.4]
ein

Code: Alles auswählen

b='/'.join(map(str,a))
ergibt

Code: Alles auswählen

b="1.1/2.2/None/4.4"
ich hätte aber gern ein

Code: Alles auswählen

b="1.1/2.2//4.4"
Das None soll also durch '"" ersetzt werden. Das kann ich sicher irgendwie hinbasteln, aber was ist der richtige weg?

Danke!

Re: join list of float to string ohne None

Verfasst: Donnerstag 12. Mai 2022, 12:15
von ThomasL

Code: Alles auswählen

b="/".join(map(str,[item if item else "" for item in a]))

Re: join list of float to string ohne None

Verfasst: Donnerstag 12. Mai 2022, 12:47
von /me
Mit der Variante filterst du aber auch eine eventuell gewollte 0 heraus.

Besser:

Code: Alles auswählen

b = '/'.join(map(str, ('' if value is None else value for value in a)))

Re: join list of float to string ohne None

Verfasst: Donnerstag 12. Mai 2022, 13:12
von Sirius3
Wenn man schon einen Generatorausdruck hat, halte ich map für eine zusätzliche Komplikation:

Code: Alles auswählen

b = '/'.join("" if value is None else str(value) for value in a)