Python在列表中搜索多个单词 [英] Python search multiple word in list

查看:132
本文介绍了Python在列表中搜索多个单词的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的Python列表:

I have Python list like this:

['assistant manager', 'salesperson', 'doctor', 'production manager', 'sales manager', 'schoolteacher', 'mathematics teacher']

现在我想使用列表中的多个关键字进行搜索,例如:

Now I want to search with multiple keywords in my list, e.g:

当我尝试输入关键字老师销售

When I try to input the keyword teacher and sales

input keywords: teacher sales

它应该返回如下结果:


  • 学校老师

  • 数学老师

  • 销售人员

  • 销售经理

  • schoolteacher
  • mathematics teacher
  • salesperson
  • sales manager

到目前为止我已经编写了这样的代码:

So far I have made a code like this:

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: ")
search_multiple_words(search_words)

但是当我输入一个关键字而不是上面给出的示例中的多个关键字时,它才有效。

But it just works when I input one keyword, not multiple keywords like example I gave above.

那么,怎么做..?

推荐答案

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)

这篇关于Python在列表中搜索多个单词的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆