Heim > Artikel > Backend-Entwicklung > Detaillierte Einführung in drei Methoden zur Verwendung von Python-String-Verbindungen sowie deren Effizienz und anwendbare Szenarien
PythonEs gibt im Allgemeinen drei Methoden für die Zeichenfolgenverkettung:
website = 'python' + 'tab' + '.com'
listStr = ['python', 'tab', '.com'] website = ''.join(listStr)
website = '%s%s%s' % ('python', 'tab', '.com')
Methode 1 ist einfach und direkt zu verwenden, aber viele Leute im Internet sagen, dass diese Methode ineffizient ist
Der Grund, warum die Verwendung von + für die Zeichenfolgenverkettung in Python ineffizient ist, liegt darin, dass Zeichenfolgen in Python ein unveränderlicher Typ sind . Wenn Sie + verwenden, um zwei Zeichenfolgen zu verbinden, wird eine neue Zeichenfolge generiert. Wenn viele aufeinanderfolgende Zeichenfolgen hinzugefügt werden, müssen Sie diese erneut beantragen ...), eine geringe Effizienz ist unvermeidlich
Methode 2 ist etwas kompliziert zu verwenden, aber sie ist effizient, wenn mehrere Zeichen verbunden werden und es nur eine Speicheranwendung gibt. 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
比较对象:加号连接 VS join连接 python版本: python2.7 系统环境:CentOS
Experiment eins:
# -*- 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 zwei:
# -*- 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
Die beiden oben genannten Experimente haben völlig unterschiedliche Ergebnisse. 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 detaillierte Inhalt vonDetaillierte Einführung in drei Methoden zur Verwendung von Python-String-Verbindungen sowie deren Effizienz und anwendbare Szenarien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!