Pythonでは、リスト内の特定の部分文字列を含む要素のインデックスを見つけるためのいくつかの方法があります。以下にその一部を紹介します。
リスト内包表記を使用する
Pythonのリスト内包表記を使用して、部分文字列を含むすべての要素のインデックスを見つけることができます。
mylist = ["aa123", "bb2322", "aa354", "cc332", "ab334", "333aa"]
indices = [i for i, s in enumerate(mylist) if 'aa' in s]
このコードは、mylist
の各要素に対してenumerate
関数を使用してインデックスと値を取得し、その値が部分文字列'aa'
を含む場合にそのインデックスを新しいリストindices
に追加します。
filter
関数を使用する
filter
関数を使用して、部分文字列を含む要素のインデックスを見つけることもできます。
mylist = ["aa123", "bb2322", "aa354", "cc332", "ab334", "333aa"]
indices = list(filter(lambda x: 'aa' in mylist[x], range(len(mylist))))
このコードは、mylist
の長さに基づいて生成された範囲上のfilter
関数を使用しています。filter
関数の第一引数はラムダ関数で、mylist
の各要素が部分文字列'aa'
を含むかどうかをチェックします。部分文字列を含む要素のインデックスだけが新しいリストindices
に追加されます。
これらの方法を使用すると、Pythonのリスト内の部分文字列を含む要素のインデックスを効率的に見つけることができます。適切な方法を選択することで、特定の問題に対する最適な解決策を見つけることができます。