Liste: str to int

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Jepedaja
User
Beiträge: 17
Registriert: Dienstag 10. Februar 2015, 17:03

Heyho,
bin mir nicht sicher wohin der Post genau kommen soll, daher hau ich ihn mal hier rein :)

Ich möchte eine Liste der Form: a=['5','7','4','',''] in int umwandeln, jedoch hab ich ein Problem mit den Leerstellen.
Die Liste ist bei jedem Programmablauf immer anders, aber ich weiß immer, ab welcher Position die Leerstellen beginnen. Hat jemand eine Idee, wie ich das Problem lösen kann :)

MfG Jepedaja
BlackJack

@Jepedaja: Wenn Du den Index vorher schon kennst dann Slicing-Syntax um nur die Zeichenketten mit Ziffern drin in eine neue Liste zu kopieren oder `itertools.islice()` in Verbindung mit `map()`/`itertools.imap()` oder einem Generatorausdruck oder einer „list comprehension” (LC).
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Wenn es sich um leere Zeichenketten handelt, die rausgeschmissen werden sollen, könnte man auch `filter()` benutzen.

Ich würde es aber wohl eher so machen:

Code: Alles auswählen

[int(x) for x in a if x]
Das finde ich am lesbarsten.
Jepedaja
User
Beiträge: 17
Registriert: Dienstag 10. Februar 2015, 17:03

Slicing-Syntax hat das geregelt, danke sehr :)
Antworten