华域联盟 Python python求列表对应元素的乘积和的实现

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求列表对应元素的乘积和的实现

转载请保留出处和原文链接:https://www.cnhackhy.com/20590.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部