Heim  >  Artikel  >  Backend-Entwicklung  >  Drei Methoden zur Implementierung der String-Verkettung in Python und detaillierte Erläuterungen zu ihrer Effizienz und anwendbaren Szenarien

Drei Methoden zur Implementierung der String-Verkettung in Python und detaillierte Erläuterungen zu ihrer Effizienz und anwendbaren Szenarien

高洛峰
高洛峰Original
2017-02-11 13:00:261560Durchsuche

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!


Stellungnahme:
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