首页 > python教程

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

时间:2021-05-27 python教程 查看: 973

那天偶尔看到看到一个小问题:两个不等长列表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博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持python博客!

展开全文
上一篇:Python统计列表元素出现次数的方法示例
下一篇:Python内置函数zip map filter的使用详解
输入字:
相关知识
Python 实现图片色彩转换案例

我们在看动漫、影视作品中,当人物在回忆过程中,体现出来的画面一般都是黑白或者褐色的。本文将提供将图片色彩转为黑白或者褐色风格的案例详解,感兴趣的小伙伴可以了解一下。

python初学定义函数

这篇文章主要为大家介绍了python的定义函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助,希望能够给你带来帮助

图文详解Python如何导入自己编写的py文件

有时候自己写了一个py文件,想要把它导入到另一个py文件里面,所以下面这篇文章主要给大家介绍了关于Python如何导入自己编写的py文件的相关资料,需要的朋友可以参考下

python二分法查找实例代码

二分算法是一种效率比较高的查找算法,其输入的是一个有序的元素列表,如果查找元素包含在列表中,二分查找返回其位置,否则返回NONE,下面这篇文章主要给大家介绍了关于python二分法查找的相关资料,需要的朋友可以参考下