Я использую Python 3 и, несмотря на листинг в список, я не могу запустить свою программу.Объект 'dict_keys' не поддерживает индексирование, несмотря на то, что он был внесен в список
Это функция вызова:
path = euleriancycle(edges)
И это где я использовал метод ключей:
def euleriancycle(e):
currentnode = list[e.keys()[0]]
path = [currentnode]
Я попытался запустить его без типа литья в список и получил эту ошибку , После рывка об этом сайте и подобных запросах я следил за предлагаемыми решениями и списком типов, но безрезультатно. У меня такая же ошибка.
Это след ошибка:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-56-356b905111a9> in <module>()
45 edges[int(edge[0])] = [int(edge[1])]
46
---> 47 path = euleriancycle(edges)
48 print(path)
<ipython-input-56-356b905111a9> in euleriancycle(e)
1 def euleriancycle(e):
----> 2 currentnode = list[e.keys()[0]]
3 path = [currentnode]
4
5 while true:
TypeError: 'dict_keys' object does not support indexing
'список (e.keys()) [0]' работает, но 'следующий (ИТЭР (е))', вероятно, лучше – vaultah
Вы * не * отлитые 'e.keys()' к перед индексированием. Вы пытались передать * результат * из файла 'e.keys() [0]' в список (хотя и с синтаксисом неудачной индексации, это 'list (...)', а не 'list [...]'); вы, вероятно, хотели использовать 'list (e.keys()) [0]' (обратите внимание на круглые скобки!), но это всего лишь верный способ написания «list (e) [0]». –