ホームページ  >  記事  >  バックエンド開発  >  Python で特定の部分文字列を含む文字列をフィルタリングする方法

Python で特定の部分文字列を含む文字列をフィルタリングする方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-20 06:19:02237ブラウズ

How to Filter Strings Containing a Specific Substring in Python?

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

内容に基づいて文字列のリストをフィルタリングすることは、プログラミングにおける一般的なタスクです。この場合、部分文字列「ab」を含むすべての文字列をリストから抽出したいと考えています。これは、Python のさまざまな方法で実現できます。

リスト内包表記

最も効率的なアプローチは、リストの反復と条件付きフィルタリングを 1 つの式に組み合わせるリスト内包表記を使用することです。 。その方法は次のとおりです:

<code class="python">lst = ['a', 'ab', 'abc', 'bac']
ab_strings = [k for k in lst if 'ab' in k]
print(ab_strings)</code>

出力:

['ab', 'abc']

フィルター関数

別のオプションは次のとおりです。フィルター関数を使用します。この関数はリストを反復処理し、ラムダ関数で指定されたフィルター基準を適用します。 Python 2 では、次のように使用できます:

<code class="python">ab_strings = filter(lambda k: 'ab' in k, lst)</code>

Python 3 では、filter はリストの代わりに反復子を返すため、それを直接反復処理するか、リストにキャストできます:

<code class="python"># Option A: Iterate over the iterable
for k in ab_strings:
    print(k)

# Option B: Cast to a list
ab_strings = list(ab_strings)
print(ab_strings)</code>

結論

リスト内包表記とフィルター関数はどちらも、特定の内容に基づいて文字列のリストをフィルター処理する効果的な方法を提供します。ただし、構文が簡潔で読みやすいため、リスト内包表記が一般的に好まれます。

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

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