【发布时间】:2018-10-26 12:08:20
【问题描述】:
我想列出出现在文件中的标记以及这些标记的计数。我写了下面的代码,但它没有按我喜欢的方式工作。
from collections import Counter
import re
seen = set()
words = re.findall(r'\w+', open('deneme.txt').read().lower())
seen = Counter(words).most_common()
print (seen)
而deneme.txt是这样的:
Erke Varol
Antalya Koleji
123 123
Erke
Erke
(asdfsdf)^'
Erke Varol
Antalya
123
Antalya
aç+Noun birak+Verb
aç+Noun ol+Verb
aç+Noun ol+Verb
aç+Noun ol+Verb
我的代码结果如下:
[('erke', 4), ('aç', 4), ('noun', 4), ('verb', 4), ('antalya', 3), ('123', 3), ('ol', 3), ('varol', 2), ('koleji', 1), ('asdfsdf', 1), ('birak', 1)]
我的问题是我想将 aç+Noun 或 ol+Verb 作为单个标记,但使用此代码是不可能的,我不明白为什么。
【问题讨论】:
-
在您的
re.findall通话中尝试r'\w+(?:\+\w+)?'。
标签: python regex python-3.x counter