我在python dict对象中有五个键/值对:
dict1 = {0:3, 1:2, 2:2, 3:2, 4:3}
我有一个元组列表:
list_of_tuples = [(0, 1), (0, 4), (2, 3)]
我想要一个形状为(5, 5, 2)
的numpy数组,其中包含每个元组值的dict对象的值。我从dict对象中的键数得到5
,从每个元组中的值数得到2
。
那是:
(0, 1)
位置,我想要一个值为(3, 2)
的numpy数组; (0, 4)
位置,我想要一个值为(3, 3)
的numpy数组; (2, 3)
位置,我想要一个值为(2, 2)
的numpy数组; (4, 4)
的numpy数组,我使用(4, 4)
作为空位的指标。
有一种不错的Pythonic方式吗?
答案 0 :(得分:2)
您可以使用np.full
创建一个包含4s的数组,然后填充它:
a = np.full((5, 5, 2), 4)
for x, y in list_of_tuples:
a[x, y] = dict1[x], dict1[y]