我试图标记一个'描述'列基于其中的字符串。我正在使用if / else语句。
现在它看起来像这样:
def char_matching(chars):
if 'software' in chars:
return 'Software development'
elif 'Data' in chars:
return 'Data Science'`
但是如果我想找到“数据科学”这个词怎么办呢?我在一栏中写道:
elif 'Data-science' in chars:
return 'Data Science'`
或
elif 'Data|science' in chars:
return 'Data Science' `
这是否适用于大写锁定,即'数据'和'数据'。你是如何克服这个障碍的?
答案 0 :(得分:2)
if
/ else
结构中的字符串可能包含空格。
如果“数据科学”(不区分大小写)出现在字符串变量的任何位置,这将return
“数据科学”。
处理不区分大小写与chars.lower()
的比较。如果您不进行此更改,则会应用区分大小写。
def char_matching(chars):
val = chars.lower()
if 'software' in val:
return 'Software development'
elif 'data science' in val:
return 'Data Science'
...
要测试多个字词,您可以使用and
:
def char_matching(chars):
val = chars.lower()
if 'software' in val:
return 'Software development'
elif ('data' in val) and ('science' in val):
return 'Data Science'
...