Python のリスト内の文字列要素の存在を確認する
この質問は、文字列に指定された要素が含まれているかどうかを判断するエレガントな方法を求めています。 for ループを使用せずにリストを作成します。次のコードはこの問題の例です:
<code class="python">extensionsToCheck = ['.pdf', '.doc', '.xls'] for extension in extensionsToCheck: if extension in url_string: print(url_string)</code>
ユーザーが C/C のような論理 OR 演算子を使用しようとしましたが、望ましい結果が得られませんでした。
エレガントなソリューションジェネレーターと Any
の使用 より洗練されたソリューションでは、ジェネレーターと any 関数を利用します。この関数は、文字列内でリスト内の要素が見つかるとすぐに True と評価されます。
<code class="python">if any(ext in url_string for ext in extensionsToCheck): print(url_string)</code>
このコードでは、ジェネレーター式は、extensionsToCheck の各要素が url_string に存在するかどうかを示す一連のブール値を生成します。これらのブール値のいずれかが True の場合、any 関数は True を返します。
終了位置を確認する際の注意
この解決策では、 url_string 内の一致する文字列の位置。たとえば、リストに .com が含まれており、検査対象の文字列が example.company.com だった場合、.com が文字列の途中にある場合でも、ソリューションは True を返します。
URL ではよくあることですが、文字列の一致が問題になります。URL のコンテキストでファイル拡張子を調べることを含む、@Wladimir Palant が提供するソリューションの利用を検討してください。
以上がPython で文字列にリストの要素が含まれているかどうかを効率的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。