Heim > Artikel > Backend-Entwicklung > Warum fügt „.join()' einzelne Zeichen aus einer Ganzzahl anstelle der gesamten Zeichenfolge ein?
Die Methode „.join()“ in Python verstehen
Die Methode „.join()“ ist ein wesentliches Tool zur Zeichenfolgenbearbeitung in Python, mit dem Entwickler mehrere Zeichenfolgen effizient verketten können. Diese Methode nimmt eine Liste von Zeichenfolgen und fügt sie zusammen, indem sie zwischen jedem Element ein bestimmtes Trennzeichen einfügt.
In Ihrem Beispiel ist ein unerwartetes Verhalten aufgetreten, als Sie „.join()“ zum Kombinieren einer Zeichenfolgendarstellung einer Ganzzahl verwendet haben mit einer zufällig generierten Zeichenfolge. Das Ergebnis „5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5“ mag rätselhaft erscheinen.
Um zu verstehen, warum dies geschah, müssen wir uns mit der Mechanik von „.join()“ befassen. Diese Methode arbeitet mit Listen von Zeichenfolgen, nicht mit einzelnen Zeichenfolgen. Wenn es auf eine Nicht-String-Eingabe stößt, beispielsweise eine Ganzzahl, wandelt es diese automatisch in eine String-Darstellung um. In Ihrem Fall wurde die Ganzzahl 595 in die Zeichenfolge „595“ umgewandelt.
Anstatt jedoch die gesamte Zeichenfolge „595“ zwischen den zufälligen Zeichen einzufügen, behandelte „.join()“ sie als Liste von einzelne Zeichen: [„5“, „9“, „5“]. Dieses Verhalten wird in der Ausgabe deutlich, wo die hervorgehobenen Zeichen „5“, „9“, „5“ zeigen, dass jedes Zeichen zwischen den zufälligen Buchstaben eingefügt wurde.
Um die gewünschte Verkettung der Ganzzahl und des zu erreichen Wenn Sie eine zufällige Zeichenfolge verwenden möchten, sollten Sie stattdessen den Operator „ “ verwenden. „ “ kombiniert im Gegensatz zu „.join()“ zwei Zeichenfolgen direkt, indem sie ohne Trennzeichen hintereinander platziert werden.
Indem Sie „.join()“ in Ihrem Code durch „ “ ersetzen:
print(array.array('c', random.sample(string.ascii_letters, 20 - len(strid))) .tostring() + strid)
Sie erhalten die erwartete Ausgabe, bei der die Ganzzahl 595 an das Ende der Zufallszeichenfolge angehängt wird.
Das obige ist der detaillierte Inhalt vonWarum fügt „.join()' einzelne Zeichen aus einer Ganzzahl anstelle der gesamten Zeichenfolge ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!