带列表的python减法,没有第一个



我想减去这两个列表。但是,没有第一个(没有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]

相关内容

最新更新