我想转换列表的输出。我使用nltk从标记中查找有向图。

这是我在计数器之后获得的输出:

[(('declaration', 'rights'), 8), (('rights', 'freedoms'), 8), (('peoples', 'nations'), 3)]


所需的输出:

['declaration rights', 'rights freedoms', 'peoples nations']


有解决此问题的方法吗?

最佳答案

您可以使用list comprehensionjoin组合bigram结果的第一个元素:

output_bigrams = [(('declaration', 'rights'), 8), (('rights', 'freedoms'), 8), (('peoples', 'nations'), 3)]
print(output_bigrams)


结果:

[(('declaration', 'rights'), 8), (('rights', 'freedoms'), 8), (('peoples', 'nations'), 3)]


然后,使用list comprehensionjoin组合结果的第一个元素:

result = [' '.join(element[0]) for element in output_bigrams]
print(result)


结果:

['declaration rights', 'rights freedoms', 'peoples nations']

10-07 21:34