Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel-Tutorial der Partitionszeichenfolgenfunktion in Python

Beispiel-Tutorial der Partitionszeichenfolgenfunktion in Python

零下一度
零下一度Original
2017-05-22 17:08:372516Durchsuche

In Version 2.5 wurde eine neue und eine -Funktion mit dem Namen „Partition“ hinzugefügt. Geben Sie ein kleines Beispiel:

>>> 'http://www.donews.net/limodou'.partition('://')
('http', '://', ​​​​'www.donews.net/limodou')
>>> 'file:/a.html'.partition('://')
('file :/ a.html', ”, ”)


Wie aus dem ersten Beispiel ersichtlich ist, wird es verwendet, um die Zeichenfolge gemäß dem angegebenen Trennzeichen aufzuteilen string Enthält das angegebene Trennzeichen und gibt ein Tupel mit drei Elementen zurück. Das erste ist die Teilzeichenfolge links vom Trennzeichen, das zweite ist das Trennzeichen selbst und das dritte ist die Teilzeichenfolge rechts vom Trennzeichen. Das zweite Beispiel zeigt, dass, wenn das angegebene Trennzeichen nicht gefunden werden kann, die Rückgabe immer noch ein Tupel mit drei Elementen ist, das erste ist die gesamte Zeichenfolge und das zweite und dritte sind leere Zeichenfolgen.

Jemand fragt sich vielleicht: Was ist der Unterschied zwischen it und split(sep, 1)? Erstens gibt Split möglicherweise keinen Rückgabewert mit fester Länge zurück. Wenn es gefunden wird, wird eine Liste mit 2 Elementen zurückgegeben. Elementliste, wie zum Beispiel:

Außerdem wird das Trennzeichen nicht zurückgegeben, wenn es gefunden wird.
>>> ‘a.b.c’.split(‘,’, 1)
['a.b.c']
>>> ‘a.b.c’.split(‘.’, 1)
['a', 'b.c']

In einigen Fällen haben partition(sep) und rpartition(sep) (von rechts nach links übereinstimmend) ähnliche Funktionen wie split(sep, 1) und rsplit(sep, 1). Die Partition wird jedoch tatsächlich erstellt, um die Suche und den Index zu ersetzen, nicht um die Teilung. In vielen Fällen müssen wir zuerst einen Standort finden und ihn dann aufteilen. Es ist viel bequemer, eine Partition zu verwenden. Zum Beispiel:

Ist es nicht einfacher, die Partition zu verwenden:
>>> a = ‘http://www.donews.net’
>>> pos = a.find(‘://’)
>>> if pos > -1:
…     print a[:pos], a[pos+1:]
http www.donews.net

.
>>> a = ‘http://www.donews.net’
>>> left, sep, right = a.partition(‘://’)
>>> print left, right
http www.donews.net

Gleichzeitig haben sich in Version 2.5 „startswith“ und „endswith“ geändert, und ihr erster Parameter kann ein Tupel sein. Dies ist sehr praktisch, wenn Sie mehrere Situationen beurteilen. Wenn Sie beispielsweise das Dateinamensuffix ermitteln möchten, das ursprünglich nur einen Wert unterstützte, müssen Sie es möglicherweise zuerst aufteilen und dann feststellen, dass „Endswith“ nicht erforderlich ist, z. B.:

Aber jetzt können Sie:
>>> a = ‘a.gif’
>>> import os.path
>>> ext = os.path.splitext(a)[1]
>>> if ext in ['.gif', '.png', '.bmp']:
…     print ‘found’
…
found

Ist es nicht viel einfacher? Beachten Sie, dass das obige Tupel nicht funktioniert, wenn ich es durch eine Liste ersetze. Es scheint obligatorisch zu sein.
>>> a = ‘a.gif’
>>> if a.endswith((‘.gif’, ‘png’, ‘.bmp’)):
…     print ‘found’
…
found

Viele interessante Dinge warten darauf, von Ihnen und mir entdeckt zu werden.

[Verwandte Empfehlungen]


1.

Teilen Sie eine detaillierte Erklärung der String-Funktion (Partition) in Python2.

Teilen Sie einen Beispielcode einer String-Funktion (Partition)3.Eine kurze Analyse des Codebeispiels der MySQL-Datentabelle Trenntechnik PARTITION

Das obige ist der detaillierte Inhalt vonBeispiel-Tutorial der Partitionszeichenfolgenfunktion in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen 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