python 对应元素相乘_如何在Python中执行两个列表的元素相乘?

本文介绍了在Python中执行两个列表元素相乘的多种方法,包括使用zip()与列表推导式,利用numpy库,以及通过for循环、enumerate、operator.mul等不同技巧。对于大型列表,使用numpy进行元素相乘的效率更高。
摘要由CSDN通过智能技术生成

使用与zip()混合的列表理解:。

[a*b for a,b in zip(lista,listb)]

由于您已经在使用numpy ,所以将数据存储在一个numpy数组而不是列表中是很有意义的。 一旦你做到这一点,你可以免费获得元素明智的产品:

In [1]: import numpy as np In [2]: a = np.array([1,2,3,4]) In [3]: b = np.array([2,3,4,5]) In [4]: a * b Out[4]: array([ 2, 6, 12, 20])

使用np.multiply(a,b):

import numpy as np a = [1,2,3,4] b = [2,3,4,5] np.multiply(a,b)

你可以尝试在循环中乘以每个元素。 做这个的简短手段是

ab = [a[i]*b[i] for i in range(len(a))]

相当直观的做法是:

a = [1,2,3,4] b = [2,3,4,5] ab = [] #Create empty list for i in range(0, len(a)): ab.append(a[i]*b[i]) #Adds each element to the list

还有一个答案:

-1 …需要导入

+1 …非常可读

import operator a = [1,2,3,4] b = [10,11,12,13] list(map(operator.mul, a, b))

输出[10,22,36,52]

对于大型列表,我们可以这样做:

product_iter_obje

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值