Ein praktischer Funktionsstreifen, der Zeichenfolgen von rechts entfernt. Ich habe es wie folgt benutzt.
x = 'abcdefg'
x.rstrip('efg')
print(x)
Dann ist die Ausgabe
abcd
Wird zurückgegeben.
Dieses Mal habe ich ein Programm geschrieben, das das "_1" nach dem mit "_1" aus den Elementen der Liste löscht, jedoch an anderen Stellen als "_1" wie "101_1" und "141_1", "1". Ich habe festgestellt, dass in dem Teil, der 'enthält, ein Fehler aufgetreten ist. Schließlich scheint rstrip nicht nur das Argument ('1') zu löschen, sondern auch nur' 'oder' 1 '. Mit anderen Worten ist das obige Beispiel wie folgt.
x = 'abcdefggefgfegef'
x.rstrip('efg')
print(x)
Dann ändert sich die Ausgabe nicht
abcd
In dem Programm, das ich dieses Mal geschrieben habe, kann ich es beispielsweise wie folgt ändern.
before
list = ['101_1', '102_1', '102_2', '103_1']
list = [x.rstrip('_1') for x in list]
after
list = ['101_1', '102_1', '102_2', '103_1']
list = [x.replace('_1','') for x in list]
Das ist natürlich nicht genau. Ich habe dies unter der Annahme getan, dass _1 nur am Ende angehängt wird, aber wenn Sie neugierig sind, verwenden Sie einen regulären Ausdruck.
Recommended Posts