嵌套的For循环迭代

时间:2019-06-01 02:46:52

标签: python for-loop

我是python的新手,正在尝试打开文件并打印匹配两个值的行(列表中的一个值,第二个值是静态值)。我得到了第一次迭代的预期输出,但看起来for循环未运行任何其他迭代。

下面是代码:

text_file = open(Path, 'r')
list_1 = ['One', 'Two', 'Three']
static_value = 'Test'

for term in list_1:
    for line in text_file:
        if term in line and static_value in line:
            print(line)

文件内容示例:

一个

一次测试

两个

两次测试

三个

三测

1 个答案:

答案 0 :(得分:2)

如果交换for循环,则可能。一种更优雅的方法是使用any()来检查匹配项,如下所示:

for line in text_file:
    if any(term in line for term in list_1) and static_value in line:
        print(line)