问题描述
在第 2 行中,any() 方法从列表推导式中获取“网站”,然后根据布尔值采取步骤。它工作得很好。但是,如果没有列表理解语法,我无法用基本语法(仅使用 if、for、any、in)编写这一行。我知道最好使用列表理解,但这是为了教育。
for line in content:
if not any(website in line for website in websites):
file.write(line)
我试过这样的事情,我知道这不会给出正确的结果。
for line in lines:
for website in websites:
if any(website):
print(line)
完整代码可以在这里找到:https://github.com/shaanlearn/pypractice/blob/main/websiteBlocker
行号:39-41
解决方法
您可以将列表推导式扩展如下
constexpr
,
试试这个
for line in lines:
for website in websites:
if website in line:
break
print(line)
,
另一种扩展方式:
for line in content:
for website in websites:
if website in line:
break
file.write(line)