gpt4 book ai didi

python - 使用列表中的任何值进行逻辑检查?

转载 作者:行者123 更新时间:2023-11-28 19:58:48 24 4
gpt4 key购买 nike

list = ["apples", "oranges", "jerky", "tofu"]

if "chew" in action and list[:] in action:
print "Yum!"
else:
print "Ew!"

我如何进行逻辑检查,检查“咀嚼”的 Action 以及列表中的任何值?例如,我想打印“Yum!” Action 是“嚼橙子”还是“嚼肉干”。

最佳答案

为什么不使用内置的 any()功能?以下对我来说似乎很 Pythonic:

foods = ["apples", "oranges", "jerky", "tofu"]

if "chew" in action and any(f in action for f in foods):
print "Yum!"
else:
print "Ew!"

当然,仅仅搜索简单的子字符串可能会得到一些奇怪的结果。例如 "jerkeyblahchew" 仍会匹配 "Yum!" 类别。您可能希望将 action 拆分为单词,并寻找紧跟在 “咀嚼” 之后的食物名称(正如@Peter Lyons 在他对简单案例的回答中所建议的那样前两个词是 "chew X")。

忽略顺序,您可以使用类似以下内容的方式只关注空格分隔的单词(并进一步忽略大写/小写):

foods = ["apples", "oranges", "jerky", "tofu"]
action_words = set(word.lower() for word in action.split())

if "chew" in action_words and any(f in action_words for f in foods):
print "Yum!"
else:
print "Ew!"

关于python - 使用列表中的任何值进行逻辑检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6951719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com