python列表内元素求和_在Python中将列表的每个元素与另一个列表的每个元素相乘/相加/相除的有效方法...

我想将一个列表的每个元素与另一个列表的每个元素相乘.

lst1 = [1, 2, 1, 2]

lst2 = [2, 2, 2]

lst3 = []

for item in lst1:

for i in lst2:

rs = i * item

lst3.append(rs)

这可以工作,但是在大型数据集中效率非常低,并且可能需要很长时间才能完成循环.请注意,两个列表的长度在此处可能有所不同.

我可以使用非内置数据结构.我检查了numpy,在ndarray中似乎有一种称为广播的方法.我不确定这是否可行.到目前为止,将数组与标量相乘可以正常工作.

arr = np.arange(3)

arr * 2

返回:

array([0, 2, 4])

但是它们与其他数组配合使用的方式有些不同,我似乎无法实现上述目标.

我想这一定是直截了当的,但是我现在似乎找不到确切的解决方案.任何输入将不胜感激.谢谢.

顺便说一句,不考虑效率here的方案也存在类似问题

编辑:谢谢你的答案.乘法有效,请参阅Dval的答案.但是,我也需要以完全相同的方式进行加法和除法.因此,我对问题进行了更新.

编辑:我可以使用numpy数组本身,所以我不需要将列表转换为数组再返回.

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值