Python で特定の部分文字列の内容に基づいて文字列をフィルタリングする方法

Linda Hamilton
リリース: 2024-10-20 06:17:02
オリジナル
516 人が閲覧しました

How to Filter Strings Based on Specific Substring Content in Python?

特定の内容を含む文字列のフィルタリング

このプログラミングの質問では、文字列のリストをその内容に基づいてフィルタリングする解決策を求めます。 ['a', 'ab', 'abc', 'bac'] などのリストが与えられた場合、私たちの目標は、'ab' などの特定の部分文字列を持つ文字列のみを含むリストを抽出することです。

Python の実装

Python でこのフィルタリングを実現するには、さまざまな方法を使用できます。効率的なアプローチの 1 つは、リスト内包表記の使用です。

<code class="python">lst = ['a', 'ab', 'abc', 'bac']
result = [k for k in lst if 'ab' in k]

# Result: ['ab', 'abc']</code>
ログイン後にコピー

このコードでは、内包表記を使用して元のリストを反復処理し、「in」演算子を使用して各文字列に部分文字列「ab」が含まれているかどうかを確認します。この条件を満たす文字列のみが結果リストに含まれます。

もう 1 つのオプションは、フィルター関数を活用することです:

Python 2:

<code class="python">from itertools import ifilter
lst = ['a', 'ab', 'abc', 'bac']
result = ifilter(lambda k: 'ab' in k, lst)

# Result: ['ab', 'abc']</code>
ログイン後にコピー

Python 3:

<code class="python">lst = ['a', 'ab', 'abc', 'bac']
result = list(filter(lambda k: 'ab' in k, lst))

# Result: ['ab', 'abc']</code>
ログイン後にコピー

Python 3 では、filter はイテレータを返します。リストを取得するには、list() 関数を使用して明示的にキャストします。 filter 関数はフィルタリングを実行する別の方法を提供しますが、このタイプの操作では一般にリスト内包表記の方がより簡潔で効率的であると考えられています。

以上がPython で特定の部分文字列の内容に基づいて文字列をフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート