python求列表对应元素的乘积和的实现

时间:2021-05-22

那天偶尔看到看到一个小问题:两个不等长列表a=[1,2,3],b=[4,5,6,7],求它们对应元素的乘积的和。

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

a = [1,2,3]b = [4,5,6,7]sum = 0for 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 = 0for i,j in all: num += i*jprint(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 列表对应元素乘积和内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章