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))
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"])
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)
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!