TypeError: 'list' object is not callable while trying to access a list
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)
Solution 1:
For accessing the elements of a list you need to use the square brackets ([]
) and not the parenthesis (()
).
Instead of:
print wordlists(len(words))
you need to use:
print worldlists[len(words)]
And instead of:
(wordlists(len(words))).append(words)
you need to use:
worldlists[len(words)].append(words)
Solution 2:
To get elements of a list you have to use list[i]
instead of list(i)
.
Solution 3:
wordlists is not a function, it is a list. You need the bracket subscript
print wordlists[len(words)]
Solution 4:
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.