【问题标题】:Searching for words that are composed entirely from a list of root words搜索完全由根词列表组成的词
【发布时间】:2020-07-19 16:13:58
【问题描述】:

我是一般的编码新手,我认为现在是自学一些 Python 的好时机。

我目前想要实现的是确定一个单词列表,这些单词完全由一组我将选择的词根、音节、前缀和后缀组成。

这是我目前为止的目标;

from nltk.corpus import words as english

vocab = set(w.lower() for w in english.words())

syllables = ('in', 'con', 'sis', 'tent', 'tant', 'si', 'ate', 'der', 'ing', 'a', 'c', 't')

syl_set=set(syllables)

for word in vocab:

    if all(x in syl_set for x in set(word)):

        print (word)

借助下载的单词语料库安装 NLTK,我可以搜索英文单词列表并输出由我的音节列表中的单个字母组成的单词列表(如上所示),例如猫,机智。

但是,这不会输出由长度超过一个字母的字符串组成的单词,例如一致、体贴。

有人能解释一下为什么这些多字母字符串没有被用来查找他们可以拼出的单词吗? 也非常感谢任何有关如何解决此问题的建议。

谢谢, 马库斯

【问题讨论】:

  • 每一个音节都有什么单词
  • 嗨,克里斯,我不是在寻找一个包含所有这些音节的单词,而是一个可以完全由列表中的音节组成的单词列表。例如一致的、体贴的、考虑的、不一致的等。

标签: python nltk


【解决方案1】:

嗯,原因是您只是在寻找单个字符。看看这部分:for x in set(word)。这会遍历word 中包含的所有字符集合中的所有字母

看看结果

[x for x in set(word)]

看看我的意思。

解决这个问题可能很棘手。将单词拆分为音节比拆分为字符更难。

【讨论】:

  • 嗨莉迪亚,是的,我明白你的意思。感谢您的回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多