Как получить определенное значение определенного ключа в словаре? - PullRequest
2 голосов
/ 19 марта 2020
G={(-1, 1): [(0, 1)],
 (0, 0): [(1, 0), (0, 1)],
 (0, 1): [(1, 1), (0, 2), (-1, 1), (0, 0)],
 (0, 2): [(0, 1)],
 (1, 0): [(2, 0), (1, 1), (0, 0)],
 (1, 1): [(0, 1), (1, 0)],
 (2, 0): [(1, 0)]}

У меня есть этот словарь в python, и я хочу go через каждое значение определенного ключа. Например, у меня есть ключ: (0,0) Я хочу напечатать каждое значение отдельно так:

Вывод:

value 0 : (1,0)
value 1 : (0,1)

и у меня есть этот код

key=(0,0)
for v in range (len(G[key])):
    print ("value ", v, ":", G[(0,0)].get(v))

G [(0,0)]. Get (v) неверно, и я получаю сообщение:

AttributeError: у объекта 'list' нет атрибута 'get '

Знаете ли вы, что я должен использовать вместо этого?

Ответы [ 2 ]

4 голосов
/ 19 марта 2020

enumerate получит индекс и значение:

key=(0,0)
for idx,v in enumerate(G[key]):
    print ("value ", idx, ":", v)
2 голосов
/ 19 марта 2020

вы можете использовать print встроенную функцию с параметром sep='\n':

print(*G[(0,0)], sep='\n')

выход:

(1, 0)
(0, 1)

или вы можете использовать:

print(*['value %s : %s' % t for t in enumerate(G[(0,0)])], sep='\n')

вывод:

value 0 : (1, 0)
value 1 : (0, 1)
...