Python dictionary.values()到numpy数组

时间:2018-07-29 04:08:45

标签: python numpy

说我有一个使用python 3的字典:

d = {'w1': np.array([12,11,23]), 'w2':np.array([1,2,3])}

和一些带有整数的变量

a=12

如何将dict值和整数转换为一个numpy数组,使其看起来像这样?

array([12, array([12, 11, 23]), array([1, 2, 3])])

我尝试过:

np.array([a,(list(d.values()))],dtype=object)

我得到:

array([12, list([array([12, 11, 23]), array([1, 2, 3])])], dtype=object)

但是我不希望列表包含在第二个索引中,我希望它被“解压”。

1 个答案:

答案 0 :(得分:2)

如果您不想将数组放在内部列表中,就不要将它们放在列表中:

>>> np.array([a, *d.values()], dtype=object)
array([12, array([12, 11, 23]), array([1, 2, 3])], dtype=object)

或者,如果您使用的是较旧的Python,并且无法解压缩到列表显示中,请创建列表,然后将其添加到另一个列表中以获得相同的平面列表:

>>> np.array([a] + list(d.values()), dtype=object)
array([12, array([12, 11, 23]), array([1, 2, 3])], dtype=object)