I am trying to run this code where I have a list of lists. I need to add to inner lists, but I get the error
TypeError: 'list' object is not callable.
Can anyone tell me what am I doing wrong here.
def createlists():
global maxchar
global minchar
global worddict
global wordlists
for i in range(minchar, maxchar + 1):
wordlists.insert(i, list())
#add data to list now
for words in worddict.keys():
print words
print wordlists(len(words)) # <--- Error here.
(wordlists(len(words))).append(words) # <-- Error here too
print "adding word " + words + " at " + str(wordlists(len(words)))
print wordlists(5)
To get elements of a list you have to use list[i]
instead of list(i)
.
Even I got the same error, but I solved it, I had used many list in my work so I just restarted my kernel (meaning if you are using a notebook such as Jupyter or Google Colab you can just restart and again run all the cells, by doing this your problem will be solved and the error vanishes.
Thank you.
wordlists is not a function, it is a list. You need the bracket subscript
print wordlists[len(words)]
Check your file name in which you have saved your program. If the file name is wordlists
then you will get an error. Your filename should not be same as any of methods{functions} that you use in your program.
You are attempting to call wordlists
here:
print wordlists(len(words)) <--- Error here.
Try:
print wordlists[len(words)]
I also got the error when I called a function that had the same name as another variable that was classified as a list.
Once I sorted out the naming the error was resolved.
Try wordlists[len(words)]
. ()
is a function call. When you do wordlists(..)
, python thinks that you are calling a function called wordlists
which turns out to be a list
. Hence the error.
del list
above command worked for me
Source: Stackoverflow.com