我正在使用minidom来解析xml文档。我用yum标签获取数据并将它们存储在列表中并计算单词的频率。但是,它不会将它们存储或读取为列表中的字符串。还有另一种方法吗?现在这就是我所拥有的:
yumNodes = [node for node in doc.getElementsByTagName("yum")]
for node in yumNodes:
yumlist.append(t.data for t in node.childNodes if t.nodeType == t.TEXT_NODE)
for ob in yumlist:
for o in ob:
if word not in freqDict:
freqDict[word] = 1
else:
freqDict[word] += 1
答案 0 :(得分:1)
与您的问题没有直接关系,但作为一种可以改善您的代码的评论......模式
freqDict = {}
...
if word not in freqDict:
freqDict[word] = 1
else:
freqDict[word] += 1
通常替换为
import collections
freqDict = collections.defaultdict(int)
...
freqDict[word] += 1
或2.5之前
freqDict = {}
...
freqDict.setdefault(word, 0) += 1
答案 1 :(得分:0)
替换
yumlist.append(t.data for t in node.childNodes if t.nodeType == t.TEXT_NODE)
以下内容:
yumlist.append(t.nodeValue for t in node.childNodes if t.nodeType == 3)