如何在python中雄辩地使用(numpy)-数组进行计算

如何在python中雄辩地使用(numpy)-数组进行计算,python,loops,Python,Loops,如何以更有效的方式表达此构造 x = [2, 4, 6, 8, 10] for p in x: x = x/2 print x 必须有一个好的方法来做到这一点 如果是numpy数组,您可以一次完成所有操作: In [4]: from numpy import array In [5]: x = array([2, 4, 6, 8, 10]) In [6]: print x/2 [1 2 3 4 5] 如果您试图将x的每个元素除以2,则以下操作将完成此操作: x = np.array

如何以更有效的方式表达此构造

x = [2, 4, 6, 8, 10]
for p in x:
   x = x/2
print x

必须有一个好的方法来做到这一点

如果是numpy数组,您可以一次完成所有操作:

In [4]: from numpy import array

In [5]: x = array([2, 4, 6, 8, 10])

In [6]: print x/2
[1 2 3 4 5]

如果您试图将
x
的每个元素除以
2
,则以下操作将完成此操作:

x = np.array([2, 4, 6, 8, 10])
x /= 2
x
的结果值是
数组([1,2,3,4,5])

请注意,上面使用整数(截断)除法。如果需要浮点除法,请将
x
设置为浮点数组:

x = np.array([2, 4, 6, 8, 10], dtype='float64')
或将部门更改为:

x = x / 2.0

您的代码将引发
类型错误
。我不确定你想达到什么目的,你能试着重新表述这个问题或提供一个有效的代码示例吗?嗨,也许你表达了一些错误,x=x/2,一个列表如何被整数除