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]
兩者都做同樣的事情并給出這樣的輸出
['銷售員'、'銷售經理'、'學校老師'、'數學老師']
祝你好運!
添加回答
舉報