Подтвердить что ты не робот

TypeError: объект "list" не может быть вызван при попытке получить доступ к списку

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

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)
4b9b3361

Ответ 1

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

Вместо:

print  wordlists(len(words))

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

print worldlists[len(words)]

И вместо:

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

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

worldlists[len(words)].append(words)

Ответ 2

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

print  wordlists[len(words)]

Ответ 3

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

Ответ 4

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

Как только я разобрался, именование ошибки было разрешено.

Ответ 5

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

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

Try:

print wordlists[len(words)]

Ответ 6

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

Ответ 7

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

Ответ 8

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

find(array, row['number_of_chocolates'])

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

find(row['number_of_chocolates'], array = [])

Тот факт, что массив находится перед позиционным аргументом, имеет значение.

Ответ 9

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

Спасибо

Ответ 10

Проверьте, не определили ли вы переменную под названием "список" !!!

Ответ 11

del list

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