Python TypeError: объект 'list' не может быть вызван с помощью словаря dict, если он логический

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

2 ответа

Решение

+ Изменить visited() в visited...

Посмотри на эту строчку,

if index2node[index] not in visited()

Из строки ниже кажется, что вы лечите visited как вызываемый объект, т.е. пытающийся вызвать его.

Но посмотри на строчку,

visited = list()

Так, visited это список, а не вызываемый объект. Не имеет __call__ метод. Чтобы проверить это, сделайте:

print hasattr(visited, '__call__')

В вашем случае, так как вы хотите только проверить элемент в списке, сделайте это:

if index2node[index] not in visited: 
Другие вопросы по тегам