ホームページ  >  記事  >  バックエンド開発  >  Python のパーティション文字列関数のサンプル チュートリアル

Python のパーティション文字列関数のサンプル チュートリアル

零下一度
零下一度オリジナル
2017-05-22 17:08:372515ブラウズ

バージョン 2.5 では、 にパーティションと呼ばれる 関数 が追加されました。何ができるでしょうか?小さな例を挙げてみましょう: >>> 'http://www.donews.net/limodou'.partition('://')

('http', '://', 'www .donews.net/limodou')

>>> 'file:/a.html'.partition('://')
('file:/a.html', ”, ”)


指定された区切り文字に従って文字列を分割するために使用できます。文字列に指定された区切り文字が含まれている場合、3 要素のタプルが返されます。最初のタプルは部分文字列の左側にあり、2 番目のタプルは区切り文字の左側にあります。区切り文字自体、3 番目は区切り文字の右側の部分文字列です。 2 番目の例は、指定された区切り文字が見つからない場合でも、戻り値は 3 要素のタプルであり、最初の例は文字列全体で、2 番目と 3 番目は空の文字列であることを示しています。

それで、誰かが、それとスプリット(9月1日)の違いは何ですか?と尋ねるかもしれません。まず、split は固定長の戻り値を返さない場合があります。見つかった場合は 2 元のリストを返します。見つからない場合は 1 元のリストを返します。 as:

>>> ‘a.b.c’.split(‘,’, 1)
['a.b.c']
>>> ‘a.b.c’.split(‘.’, 1)
['a', 'b.c']

同時に、区切り文字が見つかっても返しません。 場合によっては、partition(sep) と rpartition(sep) (右から左に一致) は、split(sep, 1) と rsplit(sep, 1) と同様の機能を持ちます。ただし、パーティションは実際には分割ではなく、検索とインデックスを置き換えるために作成されます。多くの場合、最初に場所を見つけてから分割する必要があります。パーティションを使用するとさらに便利です。例:

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

?

同時に、バージョン 2.5 では、startswith と endwith が変更され、その最初のパラメーターがタプルになるようになりました。複数の状況を判断する場合に非常に便利です。たとえば、ファイル名のサフィックスを決定したい場合、当初は 1 つの値のみをサポートしていましたが、最初にそれを分割してから、次のように Endswith が不要であると判断する必要がありました。しかし、現在は次のことが可能です。

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

もっと簡単じゃないですか?上記のタプルはリストに置き換えると機能しないことに注意してください。これは必須のようです。

たくさんの興味深いことがあなたと私が発見するのを待っています。

【関連するおすすめ】

1.

Pythonの文字列関数(パーティション)の詳細な説明を共有します


2.

文字列関数(パーティション)のサンプルコードを共有します

3.

MySQL - データ テーブル パーティショニング テクノロジ PARTITION のコード例の簡単な分析

以上がPython のパーティション文字列関数のサンプル チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。