基于用户输入的动态 if 语句
Dynamic if statement based on user input
我有一个列表,其中包含几个键和值,每个键和值都存储有自己的关键字。
对于列表中的 return 个特定项目,我使用以下带有 if 语句的 for 循环:
reduced_docs = []
for arg in reduced_docs:
if 'amazon' in arg[1] and 'google' in arg[1]:
print(arg[0])
上面的代码将 return 列出列表中包含单词 amazon 和 google 的所有项目。这行得通,但正如您所看到的,它现在是硬编码的,我想要这样的东西:
reduced_docs = []
keyword = input('enter your keywords:') keyword1 keyword2
for arg in reduced_docs:
if keyword in arg[1] and keyword in arg[1]:
print(arg[0])
正如您在上面的示例代码中看到的那样,它不再是硬编码的,但是如果我有 3 个或 4 个或 5 个关键字怎么办?我需要做什么来创建一个动态的 if 语句,根据输入的长度添加 and
条件?到目前为止,我无法理解这个问题。
all(iterable)
returns True
如果 iterable
的所有元素都为真。
与 generator expression 一起使用:
keywords = input('enter your keywords:').split()
for arg in reduced_docs:
if all(keyword in arg[1] for keyword in keywords):
print(arg[0])
您可以向用户询问逗号分隔的关键字,然后使用
reduced_docs = []
keywords = input('enter your keywords comma separated:')
for arg in reduced_docs:
to_print = []
for keyword in keywords.split(","):
to_print.append(keyword in arg[0])
if all(to_print):
print(arg[1])
我有一个列表,其中包含几个键和值,每个键和值都存储有自己的关键字。
对于列表中的 return 个特定项目,我使用以下带有 if 语句的 for 循环:
reduced_docs = []
for arg in reduced_docs:
if 'amazon' in arg[1] and 'google' in arg[1]:
print(arg[0])
上面的代码将 return 列出列表中包含单词 amazon 和 google 的所有项目。这行得通,但正如您所看到的,它现在是硬编码的,我想要这样的东西:
reduced_docs = []
keyword = input('enter your keywords:') keyword1 keyword2
for arg in reduced_docs:
if keyword in arg[1] and keyword in arg[1]:
print(arg[0])
正如您在上面的示例代码中看到的那样,它不再是硬编码的,但是如果我有 3 个或 4 个或 5 个关键字怎么办?我需要做什么来创建一个动态的 if 语句,根据输入的长度添加 and
条件?到目前为止,我无法理解这个问题。
all(iterable)
returns True
如果 iterable
的所有元素都为真。
与 generator expression 一起使用:
keywords = input('enter your keywords:').split()
for arg in reduced_docs:
if all(keyword in arg[1] for keyword in keywords):
print(arg[0])
您可以向用户询问逗号分隔的关键字,然后使用
reduced_docs = []
keywords = input('enter your keywords comma separated:')
for arg in reduced_docs:
to_print = []
for keyword in keywords.split(","):
to_print.append(keyword in arg[0])
if all(to_print):
print(arg[1])