3 回答

TA贡献1757条经验 获得超7个赞
job_list = ['assistant manager', 'salesperson', 'doctor', 'production manager',
'sales manager', 'schoolteacher', 'mathematics teacher']
def search_multiple_words(search_words):
search_words = search_words.split(' ')
out = [s for s in job_list if any(xs in s for xs in search_words)]
print(out)
search_words = input("input words: ")
search_multiple_words(search_words)

TA贡献1898条经验 获得超8个赞
你可以试试这个
job_list = ['assistant manager', 'salesperson', 'doctor', 'production manager',
'sales manager', 'schoolteacher', 'mathematics teacher']
def search_multiple_words(search_words):
search_words = [search_words]
for line in job_list:
if any(word in line for word in search_words):
print(line)
search_words = input("input keywords: ").split(' ')
for w in search_words:
search_multiple_words(w)
输出:
input keywords: sales teacher
salesperson
sales manager
schoolteacher
mathematics teacher

TA贡献1820条经验 获得超9个赞
您可以使用find()方法。这应该适合你:
lis=['assistant manager', 'salesperson', 'doctor', 'production manager', 'sales manager', 'schoolteacher', 'mathematics teacher']
str1 = ["teacher", "sales"]
x=[]
for y in lis:
for string in str1:
if y.find(string) != -1:
x.append(y)
上面的代码是为了可读性和可理解性。但是,它可以使用如下列表推导式压缩成一个很好的单行:
x = [y for y in lis for string in str1 if y.find(string) != -1]
两者都做同样的事情并给出这样的输出
['销售员'、'销售经理'、'学校老师'、'数学老师']
祝你好运!
添加回答
举报