一尘不染

Python数组乘法

python

hh=[[82.5], [168.5]]
N=1./5
ll=N*hh

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

“不能将序列乘以’float’类型的非整数”

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

我需要乘以数组中的每个元素…感谢所有人


好,谢谢您对数字数组的想法,但是如何将数组数组相乘,我尝试过与数字*数组相同,但是有问题:

编辑2:**

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

???


阅读 209

收藏
2021-01-20

共1个答案

一尘不染

X在Python中用乘以序列时,它不会乘以序列的每个成员-而是重复序列X时间。这就是X必须是整数(不能是浮点数)的原因。

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

hh = [[82.5], [168.5]]
N  = 1.0 / 5
ll = [[x*N for x in y] for y in hh]
2021-01-20