在Python中几个周期后得到错误“字符串索引超出范围”

时间:2019-02-18 18:54:44

标签: python

我是python的新手,并且使用python 3.7版本。我正在尝试在列表中添加一些单词并将其转换为数字形式,但是我遇到了错误。
这是代码:

for file in files:
        f = open(direct+file, encoding='utf8')
        lines = f.read().split("\n")

        for line in lines:
            data = []
            words = line.split(' ')

            for element in dictionary:
                data.append(words.count(element[0]))

            feature_set.append(data)

运行此代码时,在此IndexError: string index out of range行中出现data.append(words.count(element[0]))错误。我不知道该怎么办。

2 个答案:

答案 0 :(得分:0)

您的问题尚不清楚,但我仍然尝试一下。

我将尝试向您显示可能发生此错误的情况。 基本上,您正在尝试索引一个空字符串。因此,您的element在某个地方有一个空字符串。 以下将重现该问题:

dictionary = ['abc',''] for element in dictionary: element[0]

所以按照上面的例子。您正在第二次迭代中遇到该场景。 为避免出现此问题,在索引len(element)>0之前添加element检查。

答案 1 :(得分:0)

初始化字典的方式似乎有问题。 如果您正在寻找python字典,则应将其设置为:

dictionary = {“ some”:75,“ text”:8,“ here”:2}

then you can run the below code:

对于字典中的元素:

"here you will get the keys in the dictionary and you can do the word count as you are doing above"