0

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
4

2 に答える 2

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
于 2010-03-31T02:55:05.873 に答える
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)
于 2010-03-31T01:40:45.943 に答える