Pythonで非常に簡単に扱うことができ、また何度も扱われてきた古典的な問題は、ある文字列が他の文字列の部分列であるかどうかを見つけることです。 しかし、時には、文字列のリスト上でこれを拡張したい場合があり、それゆえ、コンテナ全体をトラバースし、一般的なアルゴリズムを実行する必要があります。
List 内で与えられた部分文字列を持つ文字列を見つけるためのいくつかの方法について説明します。
Method #1 : Using list comprehension
リスト内包は、長い目で見れば読みやすさが増すので、特定のタスクを実行する優雅な方法です。 このタスクは素朴な方法を使用して実行することができ、したがって、同様にリスト内包に還元することができます。
test_list
=
print
(
"The original list is : "
+
str
(test_list))
subs
=
'Geek'
res
=
print
(
"All strings with given substring are : "
+
str
(res))
出力します。
The original list is : All strings with given substring are :
方法2:filter()
+ lambda
この関数も、lambdaの助けを借りて、この文字列を見つけるタスクを実行することができます。 これは、特定の部分文字列に一致するすべての文字列をフィルタリングして、新しいリストに追加するだけです。
test_list
=
print
(
"The original list is : "
+
str
(test_list))
subs
=
'Geek'
res
=
list
(
filter
(
lambda
x: subs
in
x, test_list))
print
(
"All strings with given substring are : "
+
str
(res))
出力されます。
The original list is : All strings with given substring are :
方法その3:re + search()
正規表現を使用する Python で多くのタスクを実行するために使用することができます。 この特定のタスクを実行するためにも、正規表現は便利です。 これは search()
を使ってマッチする部分文字列をすべて見つけ、結果を返します。
import
re
test_list
=
print
(
"The original list is : "
+
str
(test_list))
subs
=
'Geek'
res
=
print
(
"All strings with given substring are : "
+
str
(res))
出力されます。
The original list is : All strings with given substring are :
記事タグ:
コメントを残す