提取python中的特定条件

提取python中的特定条件,python,python-3.x,mecab,Python,Python 3.x,Mecab,我创建了类似这样的python代码,但效果不好。 (结果不返回) 我只想提取“動詞" "名詞" "形容詞" 你知道吗 非常感谢你 m = MeCab.Tagger("-Ochasen") for result in results: # word = m.parse(result['text']) word = [line.split()[0] for line in m.parse(result['text']).splitlines() if "名詞" in line.s

我创建了类似这样的python代码,但效果不好。 (结果不返回)

我只想提取“動詞" "名詞" "形容詞"

你知道吗

非常感谢你

m = MeCab.Tagger("-Ochasen")
for result in results:
 #     word = m.parse(result['text'])

    word = [line.split()[0] for line in m.parse(result['text']).splitlines() if "名詞" in line.split()[-1] 
                                for line in m.parse(result['text']).splitlines() if "動詞" in line.split()[-1] 
                                     for line in m.parse(result['text']).splitlines() if "形容詞" in line.split()[-1]]
    result['mecab'] = word

我主要是在猜测您要做什么。我假设您有一个结果列表。您尝试从结果列表中的每个结果元素中提取一组特定的字符。然后您需要执行以下操作:

m=MeCab.Tagger(“-Ochasen”)
对于结果中的结果:
结果\文本=结果[“文本”]
result\u text=m.parse(result\u text)
text_lines=结果_text.splitlines()
字=无
对于文本行中的行:
如果“名詞“一致:
字=”名詞"
埃利夫“動詞“一致:
字=”動詞"
埃利夫“形容詞“一致:
字=”形容詞"
如果word不是None:
结果['mecab']=word

或者类似于这些内容的内容

我主要是猜测您正在尝试做什么。我假设您有一个结果列表。您尝试从结果列表中的每个结果元素中提取一组特定的字符。然后您需要执行以下操作:

m=MeCab.Tagger(“-Ochasen”)
对于结果中的结果:
结果\文本=结果[“文本”]
result\u text=m.parse(result\u text)
text_lines=结果_text.splitlines()
字=无
对于文本行中的行:
如果“名詞“一致:
字=”名詞"
埃利夫“動詞“一致:
字=”動詞"
埃利夫“形容詞“一致:
字=”形容詞"
如果word不是None:
结果['mecab']=word

或者类似的东西,如果你使用已经解析的数据,这会更容易。你应该使用,它也是一个MeCab包装器

import fugashi
tagger = fugashi.Tagger()
nodes = tagger.parseToNodeList("図書館から赤い本を借りた")
goodpos = ['名詞', '動詞', '形容詞']
nodes = [nn.surface for nn in nodes if nn.feature.pos1 in goodpos]
# => ['図書', '赤い', '本', '借り']

如果您使用已解析的数据,这会更容易。您应该使用,它也是MeCab包装器

import fugashi
tagger = fugashi.Tagger()
nodes = tagger.parseToNodeList("図書館から赤い本を借りた")
goodpos = ['名詞', '動詞', '形容詞']
nodes = [nn.surface for nn in nodes if nn.feature.pos1 in goodpos]
# => ['図書', '赤い', '本', '借り']
定义“不好用”定义“不好用”