在 python 列表中搜索与不同长度的词干的自定义列表的匹配项



我正在尝试使用python搜索单词标记化的摘要以获取自定义词干词。下面的代码几乎就是我想要的。也就是说,stem_words中的任何值是否在word_tokenized_abstract中出现一次或多次?

if(any(word in stem_words for word in word_tokenized_abstract)):
    do stuff

哪里。。。

  • stem_words 仅是字符串列表
  • word_tokenized_abstract 仅是字符串列表

我基于上述一行来检查列表中是否至少有一个项目存在于另一个列表中?

我的

问题是我的stem_words长度不同。我尝试了以下代码(对上述代码的修改(,这对我不起作用。我尝试了其他一些修改,但它们要么不起作用,要么导致崩溃。

if(any(word in stem_words for word[0:len(word)] in word_tokenized_abstract)):
    do stuff

也就是说,是否有任何值word_tokenized_abstract以stem_words中的任何值开头?

如果有帮助,我的stem_words = ['pancrea', 'muscul', 'derma', 'ovar']

谢谢!如果这个问题之前已经回答过,但我找不到,我深表歉意。

因此,您要检查第一个列表中的任何字符串是否包含在第二个列表的任何字符串中。

我会试试这个:

any(y.startswith(x) for y in word_tokenized_abstract for x in stem_words)

说明:对于stem_words中的每个词干x检查word_tokenized_abstract中的任何字符串是否以 x 开头。

如果您只想将词干作为单词的子字符串,请使用:

any(x in y for y in word_tokenized_abstract for x in stem_words)

最新更新