为什么,当提升到数组的级别并将其除以另一个数字数组时,而不是数组?

时间:2016-08-04 15:07:30

标签: python arrays matlab

为什么,在Matlab中构造数组的功能并将其划分为另一个数组(具有相同数量的值)只获得一个数字,而不是数组?那行代码:

cvDelta = sdDelta.^2/delta;

如何在Python中重新创建此代码?在Python中,在执行此行时:

cvDelta = sdDelta ** 2 / delta

然后我没有得到一个数字并得到一个数组。

2 个答案:

答案 0 :(得分:1)

对于类似matlab的体验,你应该考虑使用numpy。以下代码可以解决问题

import numpy as np
# Define sdDelta and Delta
sdDelta = np.array(sdDelta)
Delta = np.array(Delta)
cvDelta = sdDelta ** 2 / delta

答案 1 :(得分:0)

这应该是它

[sdDelta[i]**2/delta[i] for i in range(len(delta))]

或者对我来说更具可读性

[x**2/y for x,y in zip(sdDelta, delta)]