python怎样计算两个列表乘积的和?有哪些方法?

Admin 2021-05-28 群英技术资讯 1823 次浏览

       本文给大家介绍python怎样计算两个列表乘积的和,这两个不等长列表是a=[1,2,3],b=[4,5,6,7],求它们乘积的和?那么有什么方法呢?下面给大家分享两种方法:

       我一开始想到的方法就是选择更小数组作为循环长度然后相乘求和:

a = [1,2,3]
b = [4,5,6,7]
sum = 0
for i in range(0,min(len(a),len(b))):
 number += a[i]*b[i]
print(sum) 

       但是后来我想到了一种更为巧妙的方法,利用函数zip():

a = [1,2,3]
b = [4,5,6,7]
all = zip(a,b)
num = 0
for i,j in all:
 num += i*j
print(num) 

       两种方法的结果完全相同

       zip()函数的作用是将列表打包为元组列表,以上述两个列表为例:

a = [1,2,3]
b = [4,5,6,7]
all = zip(a,b)

       这时的“all”实际上是这样的形式:

       [(1, 4), (2, 5), (3, 6)]

       很有意思的小实例,顺便学习了一个函数

       补充:Python 计算列表元素之积

       定义一个数字列表,并计算列表元素之积。

       例如:

输入 : list1 = [1, 2, 3]
输出 : 6
计算:1 * 2 * 3
       实例 1

def multiplyList(myList) :
   
  result = 1
  for x in myList:
     result = result * x 
  return result 
   
list1 = [1, 2, 3] 
list2 = [3, 2, 4]
print(multiplyList(list1))
print(multiplyList(list2)) 

       以上实例输出结果为:

6
24

       采用递归方法:

def list_product(list_1,size):
  if size == 0:
    return 1  
  else:
    return list_1[size-1] * list_product(list_1,size - 1)


list_1 = [i for i in range(3,6)] #生成列表[3,4,5]
print(list_1)
print(list_product(list_1,len(list_1))) 

       现在大家对于python 计算两个列表乘积的和应该都了解了吧,希望对大家学习Python有帮助,想要了解更多python 计算的相关内容,大家可以关注其他相关文章。

文本转载自脚本之家

群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服