Python数组乘法

Python数组乘法,python,floating-point,multiplication,Python,Floating Point,Multiplication,我做错了什么?我收到错误: “不能将序列与的非int相乘 输入“float” 我尝试添加float(),但这并不能解决我的问题 我需要将数组中的每个元素相乘。。。 多谢大家 **好的,谢谢你提出数字*数组的想法,但是如何将数组*数组相乘,我尝试了与数字*数组相同的方法,但遇到了以下问题: 编辑2:** ???在Python中,当您将一个序列乘以X时,它不会将序列的每个成员相乘-它所做的是将序列重复X次。这就是为什么X必须是整数(不能是浮点) 您要做的是使用列表理解: hh=[[82.5], [

我做错了什么?我收到错误:

“不能将序列与的非int相乘 输入“float”

我尝试添加float(),但这并不能解决我的问题

我需要将数组中的每个元素相乘。。。 多谢大家


**好的,谢谢你提出数字*数组的想法,但是如何将数组*数组相乘,我尝试了与数字*数组相同的方法,但遇到了以下问题: 编辑2:**
???

在Python中,当您将一个序列乘以
X
时,它不会将序列的每个成员相乘-它所做的是将序列重复
X
次。这就是为什么X必须是整数(不能是浮点)

您要做的是使用列表理解:

hh=[[82.5], [168.5]]
N=zip(*hh)
ll = [[x*N for x in y] for y in hh]

在Python中,您可以这样做:

hh = [[82.5], [168.5]]
N  = 1.0 / 5
ll = [[x*N for x in y] for y in hh]
这需要一个int类型

你要找的是一个与
map
相关的东西或一个列表

>>> [2] * 3
[2, 2, 2]
你也可以懒散地做

>>> list(map(lambda x: x * 2, [2, 2]))
[4, 4]
>>> [x * 2 for x in [2, 2]]
[4, 4]
或者你可以做得有点孩子气(尽管没有优雅):

您还可以使用该数组将数组中的数字相乘

>>> import operator
>>> from functools import partial, reduce
>>> add = partial(operator.mul, 2)
>>> list(map(add, [2,2]))
[4, 4]

如何实现2个阵列?请参见第2页的“编辑”,您到底想要什么?是否要将矩阵相乘(即矩阵乘积)?是否要将数组元素与位置相乘?在这两种情况下,我认为您应该检查numpy,以获得更干净的代码;不,我不想用numpy;请理解我是的,我明白了。好吧,因为矩阵积比较复杂,而且我的数学有点生疏,所以我不能用python实现,但是你可以在Google上找到一些矩阵积函数的实现,例如:参见乘法示例的操作。好吧,我尽量不使用numpy或任何其他在安装IDE时未包含的“库”
(x * 2 for x in [2, 2])
>>> import operator
>>> from functools import partial, reduce
>>> add = partial(operator.mul, 2)
>>> list(map(add, [2,2]))
[4, 4]
>>> hh = numpy.asarray([[82.5], [168.5]])
>>> N = 1.0/5
>>> ll = N*hh
>>> ll
array([[ 16.5],
       [ 33.7]])