Python:需要帮助搜索子字符串列表

jst*_*u21 0 python for-loop list python-3.x

我知道这是一个简单的问题,但我有一个包含数百个字符串的列表,我需要帮助尝试选择其中的几个。例如,列表是:

lines = ["First Sentence dog", "Second Sentence dog", "Third Sentence cat", "Fourth Sentence cat"...]
Run Code Online (Sandbox Code Playgroud)

我需要访问和操作包含单词“dog”的索引。我到目前为止的代码是:

    for line in range(len(lines)):
        if "dog" in line:
            # Do some something
        elif "cat" in line:
            # Do some something else
        else:
            # Do other things
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助!

编辑:我得到的错误是 TypeError: argument of type 'int' is not iterable

具体来说,我的问题是:如何通过搜索其中的特定子字符串来检索整个字符串并对其进行处理?

Ann*_*Zen 6

您可以使用enumerate()

for i,line in enumerate(lines):
    if "dog" in line:
        # Do some something
    elif "cat" in line:
        # Do some something else
    else:
        # Do other things
Run Code Online (Sandbox Code Playgroud)

enumerate()将允许您迭代一个可迭代对象以及当前元素的索引。如果您不需要索引,只需:

for line in lines:
    if "dog" in line:
        # Do some something
    elif "cat" in line:
        # Do some something else
    else:
        # Do other things
Run Code Online (Sandbox Code Playgroud)