将嵌套循环后的条件应用于父循环
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"]
同样,我需要检查 2
或 3
是否在每一行 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)
我有这个代码:
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"]
同样,我需要检查 2
或 3
是否在每一行 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)