带有元组和整数的Python TypeError

时间:2015-05-27 23:35:47

标签: python python-2.7

此代码显示以下错误,不明白为什么: Traceback(最近一次调用最后一次):   文件" testSolver.py",第24行,in     S [j:j + NFM [i],:] = S [i] / 2.0 TypeError:list indices必须是整数,而不是元组

followers = tweepy.Cursor(client.followers, id=screenName)
for follower in followers.items():
    info=[]
    name =follower.name
    screen_name = follower.screen_name

    userId = userId + 1

    info.append(userId)
    info.append(name)
    info.append(screen_name)

    csvFile = open('followers.csv','a')
    newFile =csv.writer(csvFile) #imported csv
    newFile.writerow(info)
    #close file
    csvFile.close()

3 个答案:

答案 0 :(得分:1)

使用切片时,正确的sintax为S[j: j+NFM[i], :]

所以S[j: j+NFM[i] :]不正确。它应该是println,不带逗号。

答案 1 :(得分:0)

删除逗号:

  S[j: j+NFM[i], :] = S[i] / 2.0 

应该是:

  S[j:j+NFM[i]:] = S[i] / 2.0 

由于你没有使用步骤,你可以使用:

  S[j:j+NFM[i]] = S[i] / 2.0

答案 2 :(得分:0)

好的,我认为语法是正确的。 S[j: j+NFM[i], :] = S[i] / 2.0这实际上是在创建一行。问题在于任意源声明,S = [1,1,1]这实际上是一个错字(TypeError)。我将其更改为S = np.zeros((totNFM,4)),错误消失了。