Wie werden führende und nachfolgende Nullen in einer Zeichenfolge entfernt? Python
Ich habe mehrere alphanumerische Zeichenfolgen wie diese
listOfNum = ['000231512-n','1209123100000-n00000','alphanumeric0000', '000alphanumeric']
Den gewünschten Ausgang für das entfernen nachfolgende Nullen wäre:
listOfNum = ['000231512-n','1209123100000-n','alphanumeric', '000alphanumeric']
Den gewünschten Ausgang für führenden Nullen wäre:
listOfNum = ['231512-n','1209123100000-n00000','alphanumeric0000', 'alphanumeric']
Den Wunsch, die Ausgabe für das entfernen führende und nachgestellte Nullen werden würde:
listOfNum = ['231512-n','1209123100000-n00000','alphanumeric0000', 'alphanumeric']
Jetzt habe ich es auf die folgende Weise, Sie schlagen einen besseren Weg, wenn es:
listOfNum = ['000231512-n','1209123100000-n00000','alphanumeric0000', \
'000alphanumeric']
trailingremoved = []
leadingremoved = []
bothremoved = []
# Remove trailing
for i in listOfNum:
while i[-1] == "0":
i = i[:-1]
trailingremoved.append(i)
# Remove leading
for i in listOfNum:
while i[0] == "0":
i = i[1:]
leadingremoved.append(i)
# Remove both
for i in listOfNum:
while i[0] == "0":
i = i[1:]
while i[-1] == "0":
i = i[:-1]
bothremoved.append(i)
InformationsquelleAutor der Frage alvas | 2012-10-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was über eine grundlegende
zum entfernen von Leerzeichen am Anfang und Ende Nullen ? Wenn Sie nur daran interessiert sind, zu entfernen Nullen nach dem Komma, verwenden
.rstrip
statt (und.lstrip
nur für den führenden).[Weitere Infos in der doc.]
Könnten Sie einige Liste Verständnis, um die Sequenzen, die Sie gerne so:
InformationsquelleAutor der Antwort Pierre GM
Entfernen Sie führende + nachgestellte '0':
Entfernen Sie führende '0':
Entfernen Sie nachgestellte '0':
InformationsquelleAutor der Antwort fho
Haben Sie versucht, mit strip() :
InformationsquelleAutor der Antwort Cédric Julien
Können Sie einfach tun dies mit einer bool:
InformationsquelleAutor der Antwort Bjarne
strip
ist der beste Ansatz für diese situation, abermore_itertools.strip
ist eine Allgemeine Lösung, entfernt führende und nachfolgende Elemente aus einer iterierbar:Bemerken, hier entfernen wir sowohl führende als auch nachgestellte
"0"
s unter andere Elemente, die zu erfüllen ein Prädikat. Dieses tool beschränkt sich nicht auf strings. Siehe docs weitere Beispiele.InformationsquelleAutor der Antwort pylang