那天偶尔看到看到一个小问题:两个不等长列表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基础详解之列表复制
- Python 把两层列表展开平铺成一层(5种实现方式)
- 浅谈Python列表嵌套字典转化的问题
- Python随机函数random随机获取数字、字符串、列表等使用详解
- Python列表排序方法reverse、sort、sorted详解
- Python3 列表list合并的4种方法
- python获取指定时间段内特定规律的日期列表
- python实现合并两个有序列表的示例代码
- Python统计列表元素出现次数的方法示例
- python 合并列表的八种方法
- python 列表元素左右循环移动 的多种解决方案
- Python列表排序 list.sort方法和内置函数sorted用法
- 浅谈Python基础之列表那些事儿