我对 python 相当陌生,我不知道如何执行以下操作。
我有一个(单词,标签)元组列表
a = [('Run', 'Noun'),('Run', 'Verb'),('The', 'Article'),('Run', 'Noun'),('The', 'DT')]
我试图找到分配给每个单词的所有标签并收集它们的计数。例如,单词“run”已两次被标记为“名词”,一次被标记为“动词”。
澄清一下:我想创建另一个包含(单词、标签、计数)的元组列表
您可以使用collections.Counter https://docs.python.org/2/library/collections.html#collections.Counter:
>>> import collections
>>> a = [('Run', 'Noun'),('Run', 'Verb'),('The', 'Article'),('Run', 'Noun'),('The', 'DT')]
>>> counter = collections.Counter(a)
Counter({('Run', 'Noun'): 2, ('Run', 'Verb'): 1, ... })
>>> result = {}
>>> for (tag, word), count in counter.items():
... result.setdefault(tag, []).append({word: count})
>>> print(result)
{'Run': [{'Noun': 2}, {'Verb': 1}], 'The': [{'Article': 1}, {'DT': 1}]}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)