Entweder ist das ein Fehler oder ich lerne etwas Neues darüber, wie sich Python verhält. :)
Ich habe ein Wörterbuch mit Schlüssel / Wert-Paaren gefüllt. Jeder Schlüssel hat ein eindeutiges Präfix, ias_XX_XX_
. Ich versuche, eine Liste aller eindeutigen Präfixe im Wörterbuch zu erhalten.
'_x1'
enden. '_x1'
von allen mit rstrip('_x1'
). Dies funktioniert für alle, bis auf den letzten, ias_1_1_x1
. Anstatt zu ias_1_1
entfernt zu werden, wird es ias_
. Führen Sie den Code aus, um selbst zu sehen:
Tatsächliche Ausgabe : (Python 2.6, 2.7 und 3.2 (muss print to print () ändern, damit 3.x funktioniert))
%Vor%Erwartete Ausgabe:
%Vor% Wenn ich den Namen des Schlüssels von ias_1_1
in etwas wie ias_1_2
oder ias_1_3
ändere, tritt der Glitch nicht auf. Warum passiert das?
Der Parameter für rstrip()
ist eine Menge von zu entfernenden Zeichen, keine exakte Zeichenkette:
Allgemeiner Hinweis: Wenn Sie einen Fehler in einer Funktion vermuten, lesen Sie die Dokumentation .
In den Dokumenten wurde folgende Hervorhebung hinzugefügt:
Das chars-Argument ist eine Zeichenfolge, die die Menge der zu entfernenden Zeichen angibt. Wenn sie weggelassen oder None ist, wird das chars-Argument standardmäßig zum Entfernen von Leerzeichen verwendet. Das Zeichen Argument ist kein Suffix ; vielmehr werden alle Kombinationen seiner Werte entfernt.