0

私は大丈夫だと思うこのコードを持っています

def makeInverseIndex(strList):
    numStrList = list(enumerate(strList))
    n = 0
    dictionary = {}
    while (n < len(strList)):
        for word in numStrList[n][1].split():
            if word not in dictionary:
                dictionary[word] = {numStrList[n][0]}
            elif {numStrList[n][0]} not in dictionary[word]:
                dictionary[word]|={numStrList[n][0]} 
        n = n+1                     

    return dictionary

しかし、モジュールを実行しようとすると、なんとかこのエラーが発生します。

   >>> makeInverseIndex(L)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "./inverse_index_lab.py", line 21, in makeInverseIndex
    for word in numStrList[n][1].split():
NameError: global name 'StrList' is not defined

エラーの原因がわかりません。

次のようなものを入力したい:

 L=['A B C', 'B C E', 'A E', 'C D A']

これを出力として取得します。

D={'A':{0,2,3}, 'B':{0,1}, 'C':{0,3}, 'D':{3}, 'E':{1,2}}
4

1 に答える 1

1

モジュールをリロードせずに変更したようです。

トレースバックは、ソース ファイルからの行の現在の内容を示しています。これは、モジュールをロードしたときとは異なる場合があります。

于 2013-07-05T02:57:06.453 に答える