Python 字数问题

Python 字数问题,python,Python,我想从包含以下数据的文本文件中计算单词数: ROK : ROK/(NN) New : New/(SV) releases, : releases/(NN) + ,/(SY) week : week/(EP) last : last/(JO) compared : compare/(VV) + -ed/(EM) year : year/(DT) releases : releases/(NN) 像/(NN),/(SV)和/(EP)这

我想从包含以下数据的文本文件中计算单词数:

ROK :
    ROK/(NN)
New :
    New/(SV)
releases, :
    releases/(NN) + ,/(SY)
week :
    week/(EP)
last :
    last/(JO)
compared :
    compare/(VV) + -ed/(EM)
year :
    year/(DT)
releases :
    releases/(NN)
像/(NN),/(SV)和/(EP)这样的表达式被视为类别。 我想在每一个类别之前提取单词,并计算整个文本中有多少单词

我想在一个新的文本文件中写入一个结果,如下所示:

(NN)
releases 2
ROK 1

(SY)
New 1
, 1

(EP)
week 1

(JO)
last 1

......
请帮帮我

这是我的车库代码;它不起作用

import os, sys
import re

wordset = {}
for line in open('E:\\mach.txt', 'r'):
    if '/(' in line:
        word = re.findall(r'(\w)/\(', line)
        print word
        if word not in wordset: wordset[word]=1
        else: wordset[word]+=1

f = open('result.txt', 'w')
for word in wordset:
    print>> f, word, wordset[word]
f.close()
不客气(= 如果您还想计算奇怪的“-ed”或“,”,请调整regexp以匹配除空格以外的任何字符:

REGEXP = re.compile(r'([^\s]+)/(\(.*?\))')

您正在尝试使用列表(yes word是列表)作为索引。以下是您应该执行的操作:

import re

wordset = {}
for line in open('testdata.txt', 'r'):
    if '/(' in line:
        words = re.findall(r'(\w)/\(', line)
        print words
        for word in words:
          if word not in wordset: 
            wordset[word]=1
          else: 
            wordset[word]+=1

f = open('result.txt', 'w')
for word in wordset:
    print>> f, word, wordset[word]
f.close()
你很幸运,我想学习python,否则我就不会尝试你的代码了。下次发布你遇到的错误!我打赌是的

TypeError:不可损坏的类型:“列表”


如果你想得到好的答案,帮助我们是很重要的!

这段代码显示了很好的性能!但实际上我想解析韩语单词。在这种情况下,这段代码工作不好。你有什么想法吗?哦……刚刚找到你的评论。你还需要帮助吗?
import re

wordset = {}
for line in open('testdata.txt', 'r'):
    if '/(' in line:
        words = re.findall(r'(\w)/\(', line)
        print words
        for word in words:
          if word not in wordset: 
            wordset[word]=1
          else: 
            wordset[word]+=1

f = open('result.txt', 'w')
for word in wordset:
    print>> f, word, wordset[word]
f.close()