关于两列表中数值的运算
如何将两个长度相等的列表中的数值按顺序一 一对应地相加?类似于
A=
B=
怎么把1和4加,2和5加,依此类推
然后得到的结果也是一个列表
求大神指导 需要用到推导式
_2_ 发表于 2020-7-21 21:10
需要用到推导式
这样好像是把A中的数和B中的数都两两相加了一次
我想要只加对应位置上的数,就是A中的1只跟B中的4求和 _2_ 发表于 2020-7-21 21:10
需要用到推导式
你用错了,这样即可:
A=
B=
print(+B for i in range(len(A))]) 本帖最后由 _2_ 于 2020-7-21 21:25 编辑
能源系统建模 发表于 2020-7-21 21:18
这样好像是把A中的数和B中的数都两两相加了一次
我想要只加对应位置上的数,就是A中的1只跟B中的4求和
那也有
+ B for _ in range(len(A))] Twilight6 发表于 2020-7-21 21:18
你用错了,这样即可:
没想到你看见了……
好吧,第一次确实错了 _2_ 发表于 2020-7-21 21:19
那也有
你这改了和没改一样 Twilight6 发表于 2020-7-21 21:24
你这改了和没改一样
……{:10_266:}
为什么总是想着要用两个变量呢{:10_245:} Twilight6 发表于 2020-7-21 21:24
你这改了和没改一样
在线丢人{:10_266:} 本帖最后由 BIO-张磊 于 2020-7-21 21:34 编辑
原生python列表无法实现一一对应相加,可以通过for循环解决。
不过numpy库的array提供了对应加减乘除的方法
array就是数组,与list不同的是array的中的类型必须全部相同。你就记住array是numpy库处理数据的基本形式就可以了,不必深究
list可以通过numpy转化为array
import numpy as np
A=
B=
arrayA = np.array(A)
arrayB = np.array(B)
print(arrayA + arrayB)
list(arrayA + arrayB)
它比for循环的好处就是,numpy是经过优化的,速度会比单纯的for循环要快。 list(map(sum, zip(a, b))) BIO-张磊 发表于 2020-7-21 21:33
原生python列表无法实现一一对应相加,可以通过for循环解决。
不过numpy库的array提供了对应加减乘除的方 ...
火箭轰蚊子。 永恒的蓝色梦想 发表于 2020-7-21 21:48
火箭轰蚊子。
怎么说呢,假如这个列表是个多维的,比如二维,这个方法就显得特别灵活了
A=[,]
B=[,]
np.array(A)+np.array(B)
页:
[1]