items
дает список ключей и значений, которые вы можете легко использовать для назначения значений предварительно выделенному массиву.
In [624]: d = {(0,0): 1, (0,1): 2, (1,0): 3, (1,1): 4}
In [625]: list(d.items())
Out[625]: [((0, 0), 1), ((0, 1), 2), ((1, 0), 3), ((1, 1), 4)]
In [626]: res = np.zeros((2,2),int)
In [627]: for id,val in d.items():
...: res[id]=val
...:
In [628]: res
Out[628]:
array([[1, 2],
[3, 4]])
В качестве альтернативы присвойте элементы спискам keys
и values
:
In [640]: k,v = list(d.keys()), list(d.values())
In [641]: res[tuple(np.transpose(k))]=v
In [642]: res
Out[642]:
array([[1, 2],
[3, 4]])
In [643]: np.transpose(k)
Out[643]:
array([[0, 0, 1, 1],
[0, 1, 0, 1]])