python - 同一个变量中超过 1 个单词的条件语句
问题描述
我正在尝试根据来自另一个变量的各种业务规则创建一个变量。请看下面的例子。当我只处理一个单词时,我需要使用以下代码作为条件:
physical = ['light', 'sedentary', 'medium', 'heavy']
def matcher(x):
for i in physical:
if i.lower() in x.lower():
return i
else:
return 'other'
我的问题是当句子中有多个匹配的单词时,在这种特定情况下我想调用mix
. 例如,如果一个句子中出现了多个单词,就像第一句话一样,那么“混合”
Physical Demand Result
Light to medium with occasional heavy levels mix
Light lifting light
Medium effort required when lifting medium
tks。
解决方案
您需要检查所有项目以返回mix
,而不是仅检查一项后直接返回。接下来是一个可行的代码,仅供参考。
physical = ['light', 'sedentary', 'medium', 'heavy']
def matcher(x):
l = [item for item in physical if item.lower() in x.lower()]
length = len(l)
if length == 0:
return 'other'
elif length == 1:
return l[0]
else:
return 'mix'
print(matcher('Light to medium with occasional heavy levels'))
print(matcher('Light'))
print(matcher('Medium'))
print(matcher('abcde'))
输出:
mix
light
medium
other
推荐阅读
- python - 将列表变量名转换为键,将其值转换为python中字典的值
- python - 我对 Python 代码有疑问。执行代码时条目显示 [*]
- python - 如何在我的 Docker Compose 容器中升级到 Python3+
- email - 在一天中的随机时间运行 AppleScript 脚本
- html - 无序列表中缺少图标
- ios - 在 Swift 中以编程方式制作 UIButton 时如何传递函数
- python - discord.py 服务器模板
- python - 绘制具有数据间隔的直方图
- java - 在“finally”子句中使用 try-with-resources/关闭此“PreparedStatement”
- javascript - 使用 Google 登录 cookie 打开一个已经登录的页面(puppeteer)