两个list对应元素相加

本文介绍了三种在Python中实现两个列表对应元素相加的方法,包括使用map()函数和zip()函数,以及调用numpy库。通过这些方法,可以将列表a和列表b按位相加得到[5, 7, 9]的结果。map()函数将传入的函数应用于序列的每个元素,返回可列表化的map对象,而zip()函数则将多个可迭代对象打包成元组。" 8697235,1423217,实时人脸检测与跟踪:OpenCV结合压缩感知CT,"['计算机视觉', '图像处理', 'OpenCV库', '目标检测', '目标跟踪']

a=[1,2,3] b=[4,5,6]

现将list a与 list b按位相加,其结果为[5,7,9]

方法一:

c=[a[i]+b[i] for i in range(min(len(a),len(b)))]

方法二:

c=list(map(lambda x :x[0]+x[1] ,zip(a,b)))

方法三:

调用numpy库

import numpy as np
c = np.array(a) + np.array(b)
map()函数:

map()函数接受两个参数,一个是函数,一个是序列,map将传入的函数作用到序列的每个元素,并返回一个可以列表化的map对象。(python2直接返回列表)

zip()函数:

zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的可list化的zip对象。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)
<zip object at 0x02B01B48> #返回的是一个对象
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c))
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(*zipped)) #解压也使用list进行转换
[(1, 2, 3), (4, 5, 6)]

转载于:https://www.cnblogs.com/nxf-rabbit75/p/9997931.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值