Heim > Backend-Entwicklung > Python-Tutorial > Warum fügt .join() in Python Zeichen zwischen Elementen ein, anstatt einen String anzuhängen?

Warum fügt .join() in Python Zeichen zwischen Elementen ein, anstatt einen String anzuhängen?

Mary-Kate Olsen
Freigeben: 2024-11-19 20:01:03
Original
541 Leute haben es durchsucht

Why Does .join() Insert Characters Between Elements Instead of Appending a String in Python?

Verstehen der Join()-Methode für die String-Verkettung

Bei der Arbeit mit Python stoßen Sie möglicherweise auf die Vorstellung, dass .join() dies ist die bevorzugte Methode zum Verketten von Zeichenfolgen. Allerdings kann seine Funktionalität für Anfänger verwirrend sein.

Bedenken Sie dieses Code-Snippet:

strid = repr(595)
print(array.array('c', random.sample(string.ascii_letters, 20 - len(strid))).tostring().join(strid))
Nach dem Login kopieren

Dieser Code verhält sich nicht wie erwartet. Anstatt „595“ an das Ergebnis anzuhängen, werden Zeichen aus dem ASCII-Alphabet ausgegeben, die mit den Ziffern von „595“ durchsetzt sind.

Die .join()-Methode

Um zu verstehen, warum, zerlegen wir die .join()-Methode. Es nimmt einen String als Argument und fügt ihn zwischen den Elementen einer bestimmten Liste ein. Zum Beispiel:

","join(["a", "b", "c"])
Nach dem Login kopieren

Ergibt „a,b,c.“ Das „“, wird zwischen jedem Element der Liste eingefügt.

In Ihrem Code wird „595“ als Liste aus drei einzelnen Zeichen behandelt: [„5“, „9“, „5“]. Folglich wird das Zeichenfolgenargument der Methode .join() zwischen diesen Zeichen eingefügt, was zu der beobachteten Ausgabe führt.

Alternative Methode:

Wenn Sie dies beabsichtigen Um die Zeichenfolge „595“ mit der generierten Zeichenfolge zu verketten, sollten Sie stattdessen den Operator verwenden:

print(array.array('c', random.sample(string.ascii_letters, 20 - len(strid))).tostring() + strid)
Nach dem Login kopieren

Dadurch werden die beiden Zeichenfolgen korrekt verkettet und es entsteht eine einzelne Zeichenfolge mit dem gewünschten Inhalt.

Das obige ist der detaillierte Inhalt vonWarum fügt .join() in Python Zeichen zwischen Elementen ein, anstatt einen String anzuhängen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage