此代码旨在将一个字符串作为输入,然后生成一个字母出现频率的二维数组。因此,对于每次迭代,它都会增加数组中整数的值(例如HI将是[h][i] =+ 1)。
我的问题是错误信息
list indices must be integers or slices, not tuple
每当我运行以下代码时就会出现。我改变了数组的创建方式,所以它现在被创建为一个列表,当我进入调试模式时得到确认(letterArray 成为一个列表列表。)
我将字母转换为 ASCII 的原因是我可以将它与其他 ASCII 值进行比较以同时清理字符串。我打算稍后将字符串转换为小写。
我尝试将 letterArray 转换为列表,尽管这不会改变任何内容,因为 letterArray 是一个列表。我在具有相同问题的二维数组上找不到任何相关信息。
inputString = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat' #just a test string
inputStringArray = list(inputString) #break into char arrray
letterArray = []
posY = 28
x=0
for i in range(26): #create balnk list of 0s of size 26x26
letterArray.append([])
for j in range(26):
letterArray[i].append(0)
for letter in inputStringArray:
posX = ord(letter)-97 #-97 so that a = 0, z = 25
if posY is 28 and posX <= 26 and posX >= 0: #instantiate first instance of past letter
posY = posX
continue
if posX <= 26 and posX >= 0: #if the char is a letter
x = letterArray[posY,posX]
x +=1
letterArray[posY,posX] = x #increment the space in the array by 1
posY = posX
else:
continue
确切的错误是:
Message=list indices must be integers or slices, not tuple
Source=C:\Users\me\source\repos\InputRecorder\InputRecorder\Recording.py
StackTrace:
File "C:\Users\me\source\repos\InputRecorder\InputRecorder\Recording.py", line 103, in KeysToArray
x = letterArray[posY,posX]
有什么建议?
慕的地6264312
Cats萌萌
相关分类