我想减去这两个列表。但是,没有第一个(没有01621和0(我该怎么办?
part1 = [0.16217332 0.31666873 0.51007364 0.66299792 0.83379235 1. ]
part2 = [0. 0.26212295 0.42225925 0.61941848 0.81022938 1. ]
我想要减法[(0.31666873-0.26212295) (0.51007364-0.42225925) (0.66299792-0.61941848) (0.83379235-0.81022938) (1-1)]
使用Python
有很多方法可以解决这个问题,例如:
part1 = [0.16217332, 0.31666873, 0.51007364, 0.66299792, 0.83379235, 1.0 ]
part2 = [0.0, 0.26212295, 0.42225925, 0.61941848, 0.81022938, 1.0]
r = [part1[i] - part2[i] for i in range(1,len(part1)) ]
print(r)
这里有一个使用numpy的解决方案,它允许对两个数组进行矢量化减法:
part1 = [0.16217332, 0.31666873, 0.51007364, 0.66299792, 0.83379235, 1.0 ]
part2 = [0.0, 0.26212295, 0.42225925, 0.61941848, 0.81022938, 1.0]
p1 = np.asarray(part1[1:])
p2 = np.asarray(part2[1:])
result = list(p1-p2)
#[0.05454577999999999, 0.08781439000000002, 0.043579440000000025, 0.02356296999999996, 0.0]