TypeError: объект 'list' не вызывается при попытке доступа к списку - PullRequest
50 голосов
/ 20 апреля 2011

Я пытаюсь запустить этот код, где у меня есть список списков. Мне нужно добавить во внутренние списки, но я получаю ошибку

TypeError: 'list' object is not callable.

Может кто-нибудь сказать мне, что я здесь не так делаю.

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)

Ответы [ 9 ]

63 голосов
/ 21 апреля 2011

Для доступа к элементам списка необходимо использовать квадратные скобки ([]), а не круглые скобки (()).

Вместо:

print  wordlists(len(words))

вам нужно использовать:

print worldlists[len(words)]

И вместо:

(wordlists(len(words))).append(words)

вам нужно использовать:

worldlists[len(words)].append(words)
7 голосов
/ 21 апреля 2011

Чтобы получить элементы списка, вы должны использовать list[i] вместо list(i).

7 голосов
/ 21 апреля 2011

списки слов это не функция, это список.Вам нужен скобочный индекс

print  wordlists[len(words)]
5 голосов
/ 05 января 2013

Я также получил сообщение об ошибке, когда вызвал функцию, имя которой совпадает с именем другой переменной, которая была классифицирована как список.

После того, как я определил наименование, ошибка была устранена.

3 голосов
/ 21 апреля 2011

Попробуйте wordlists[len(words)].() - это вызов функции.Когда вы делаете wordlists(..), python считает, что вы вызываете функцию с именем wordlists, которая оказывается list.Отсюда и ошибка.

3 голосов
/ 21 апреля 2011

Вы пытаетесь позвонить wordlists здесь:

print  wordlists(len(words)) <--- Error here.

Попробуйте:

print wordlists[len(words)]
0 голосов
/ 30 июня 2019

Даже я получил ту же ошибку, но я решил ее, я использовал много списков в своей работе, поэтому я просто перезапустил свое ядро ​​(то есть, если вы используете ноутбук, такой как Jupyter или Google Colab, вы можете просто перезагрузить и снова запуститьвсе ячейки, благодаря этому ваша проблема будет решена и ошибка исчезнет.

Спасибо .

0 голосов
/ 12 июня 2019
del list

вышеуказанная команда работала для меня

0 голосов
/ 07 сентября 2013

Проверьте имя файла, в котором вы сохранили свою программу.Если имя файла wordlists, вы получите сообщение об ошибке.Ваше имя файла не должно совпадать с любым из методов {функций}, которые вы используете в своей программе.

...