【问题标题】:Searching for key words in python在python中搜索关键字
【发布时间】:2016-02-02 13:08:08
【问题描述】:

如果我用 Python 提出一个问题,答案是chicken,我想输出一些与鸡有关的东西。而且,如果答案是beef,我想输出与牛肉相关的内容,具体取决于提供的答案。

我该如何构建它?我应该有多个包含关键词和相关答案的列表吗?新手。

【问题讨论】:

  • 显示一些示例代码!

标签: python list dictionary key words


【解决方案1】:

我会使用dictlists:

import random

similar_words = {
    'chicken': ['poultry', 'wings'],
    'beef': ['cow', 'ground-beef', 'roast-beef', 'steak'],
}

word = raw_input("Enter a word: ").strip()
if word in similar_words:
    print random.choice(similar_words[word])
else:
    print "Not found!"

有关更多信息,请参阅Data Structures 上的 Python 手册。请注意,我还使用random.choice() 从每个列表中选择一个随机项目。

这是它运行的输出:

$ python words.py
Enter a word: chicken
poultry
$ python words.py
Enter a word: beef
cow
$

编辑:您在 cmets 中询问如果单词包含在整个句子中,您如何才能做到这一点。这是一个例子:

words = raw_input("Enter a word or sentence: ").strip().split()

for word in words:
    if word.lower() in similar_words:
        print random.choice(similar_words[word.lower()])
    else:
        print "Not found!"

在这里,我们使用split() 将句子拆分为list 的单词。然后我们循环遍历每个单词,看看这个单词(小写版本)是否存在于我们的dict 中,并执行与上面对单个单词所做的相同的操作。

【讨论】:

  • 这很有帮助,谢谢。例如,如果想选择鸡肉,但它是在一个句子中,例如,怎么办?有没有鸡肉食谱。如果它在一个句子中,可以挑选出相关的单词'chicken'吗?
  • 没问题!那会变得更复杂。程序如何知道句子中哪个词最重要?不过,您可以选择与 similar_words 存在的句子中的所有单词相关的单词!我将添加一个快速编辑作为示例。
猜你喜欢
  • 1970-01-01
  • 2013-09-08
  • 2020-05-12
  • 1970-01-01
  • 2019-03-13
  • 1970-01-01
  • 2011-03-11
  • 2018-10-18
  • 1970-01-01
相关资源
最近更新 更多