Python:查明列表中的元素是否具有特定字符串

use*_*198 1 python

我在列表中寻找一个特定的字符串; 此字符串是较长字符串的一部分.

基本上我循环通过文本文件并将每个字符串添加到列表的不同元素中.现在我的目标是扫描整个列表以查明是否有任何元素字符串包含特定字符串.

源文件的示例:

asfasdasdasd
asdasdasdasdasd mystring asdasdasdasd
asdasdasdasdasdasdadasdasdasdas
Run Code Online (Sandbox Code Playgroud)

现在假设3个字符串中的每一个都在列表的元素中; 并且你想知道列表中是否有任何元素中的字符串"my string"(我不需要知道它在哪里,或者列表中出现了多少字符串).我试图用它来解决它,但它似乎没有发现任何事件

work_list=["asfasdasdasd", "asdasdasdasd my string asdasdasdasd", "asdadadasdasdasdas"]
has_string=False

for item in work_list:
    if "mystring" in work_list:
        has_string=True
        print "***Has string TRUE*****"

print " \n".join(work_list)
Run Code Online (Sandbox Code Playgroud)

输出将只是列表,bool has_string保持为False

我错过了什么或者以错误的方式使用in语句?

TJD*_*TJD 5

你希望它是:

if "mystring" in item:
Run Code Online (Sandbox Code Playgroud)


Amb*_*ber 5

一种简洁(通常更快)的方法:

if any("my string" in item for item in work_list):
    has_string = True
    print "found mystring"
Run Code Online (Sandbox Code Playgroud)

但实际上你所做的就是实施grep.