我是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]))
错误。我不知道该怎么办。
答案 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"