Heim > Artikel > Backend-Entwicklung > Drei Methoden zur Implementierung der String-Verkettung in Python und detaillierte Erläuterungen zu ihrer Effizienz und anwendbaren Szenarien
In diesem Artikel werden hauptsächlich die drei Methoden der String-Verbindung in Python, ihre Effizienz und detaillierte Erläuterungen zu anwendbaren Szenarien vorgestellt. Er hat einen gewissen Referenzwert und interessierte Freunde können darauf verweisen.
Im Allgemeinen gibt es drei Möglichkeiten, Python-Strings zu verbinden:
Methode 1: Direkt über den Plus-Operator (+) verbinden
website = 'python' + 'tab' + '.com'
Methode 2: Join-Methode
listStr = ['python', 'tab', '.com'] website = ''.join(listStr)
Methode 3: Ersetzen Sie
website = '%s%s%s' % ('python', 'tab', '.com')
unten. Lassen Sie uns darüber sprechen Unterschiede zwischen den drei Methoden
Methode 1 ist einfach und direkt anzuwenden, aber viele Leute im Internet sagen, dass diese Methode ineffizient ist
Der Grund, warum + zur Darstellung von Zeichen verwendet wird In Python ist die Betriebseffizienz der Zeichenfolgenverbindung ineffizient, da Zeichenfolgen in Python unveränderliche Typen sind. Wenn Sie + zum Verbinden zweier Zeichenfolgen verwenden, müssen Sie beim kontinuierlichen Hinzufügen eine neue Zeichenfolge generieren Wenn viele Zeichenfolgen vorhanden sind (a+b+c+d+e+f+...), ist eine geringe Effizienz unvermeidlich
Methode 2, etwas kompliziert in der Anwendung, aber effizient beim Verbinden mehrerer Zeichen. Hoch, das wird der Fall sein nur eine Speicheranwendung sein. Und wenn Sie die Zeichen der Liste verbinden, muss diese Methode die erste Wahl sein
Methode 3: Zeichenfolgenformatierung, diese Methode wird sehr häufig verwendet, ich empfehle diese Methode auch
Folgendes Experimente werden verwendet, um die Effizienz der String-Verkettung zu veranschaulichen.
Vergleichsobjekt: Plus-Verbindung VS-Join-Verbindung
Python-Version: Python2.7
Systemumgebung: CentOS
Experiment 1:
# -*- coding: utf-8 -*- from time import time def method1(): t = time() for i in xrange(100000): s = 'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab' print time() - t def method2(): t = time() for i in xrange(100000): s = ''.join(['pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab']) print time() -t method1() method2()
Ergebnis:
0,641695976257
0,341440916061
Experiment 2:
# -*- coding: utf-8 -*- from time import time def method1(): t = time() for i in xrange(100000): s = 'pythontab'+'pythontab'+'pythontab'+'pythontab' print time() - t def method2(): t = time() for i in xrange(100000): s = ''.join(['pythontab','pythontab','pythontab','pythontab']) print time() -t method1() method2()
Ergebnis:
0,0265691280365
0,0522091388702
Der einzige Unterschied zwischen den beiden Experimenten ist die Anzahl der String-Verbindungen.
Schlussfolgerung: Die geringe Effizienz der Pluszeichen-Verbindung tritt auf, wenn mehrere Strings kontinuierlich verbunden sind. Wenn die Anzahl der Verbindungen gering ist, ist die Effizienz der Pluszeichen-Verbindung höher als die der Join-Verbindung
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt. Ich hoffe auch, dass jeder die PHP-Chinesisch-Website unterstützt.
Ausführlichere Erläuterungen zu den drei Methoden der String-Verkettung in Python sowie deren Effizienz und anwendbaren Szenarien finden Sie auf der chinesischen PHP-Website!