我有一个带有键(0,1,2....n)
的python字典,每个键将位置坐标放在一个元组中,例如
{0:(x1,y1), 1:(x2,y2), 2:(x3,y3), ....., n-1:(xn,yn)}
我想创建一个像
这样的多维数组coordinates= np.array([
[x1, y1],
[x2, y2],
...
[xn, yn]
])
我已尝试使用array = numpy.array(vehPositions.values())
但无法获得预期的结果。
答案 0 :(得分:3)
如果您正在使用python 3.x,则应明确强制转换为list
,因为values()
的{{1}}方法将返回dict
个对象。
你应该这样做:
dict_values
要从字典中的元组值创建列表列表并构建数组,您不需要显式转换为array = numpy.array(list(vehPositions.values()))
:
list
小心不要使用生成器表达式,因为这将返回包含生成器对象的数组:
array = numpy.array([list(v) for v in vehPositions.values()])
以下试验说明了该程序:
>>> numpy.array(list(v) for v in vehPositions.values())
array(<generator object <genexpr> at 0x03B60AA8>, dtype=object)