将嵌套循环后的条件应用于父循环

Applying conditional after nested loop to the parent loop

我有这个代码:

values="2"
content=["line1","line2","line3"]
for line in content:
    if values not in line:
        print(line)

当值 2 不在这些项目中时成功打印出 content 的项目:

line1
line3

实际上,我从 file.readlines() 方法中获取 content

现在,当我必须将多个值与每一行内容进行比较时,我陷入了困境:

values=["2","3"]

同样,我需要检查 23 是否在每一行 content 中,如果不存在则打印该行。

我想到了这个:

values=["2","3"]
content=["line1","line2","line3"]
for line in content:
    for value in values:
        if value not in line:
            print(line)

但这通常会 return 这个:

line1
line1
line2
line3

我希望只打印出 line1。 有什么解决方法吗?

使用您在嵌套循环中设置的变量,并在循环完成后进行检查。

values=["2","3"]
content=["line1","line2","line3"]
for line in content:
    in_line = false
    for item in values:
        if item in line:
            in_line = true
            break
    if not in_line:
        print(line)

或者您可以使用 any 函数。

values=["2","3"]
content=["line1","line2","line3"]
for line in content:
    if not any(value in line for value in values):
        print(line)