我有一份清单.
l = [[1, 2, 8] [8, 2, 7] [7, 2, 5]]
我希望第一个元素为零,然后我需要按列减去值.
解释:
1 2 8
8 2 7
7 2 5
减法为,
0 1 6
0 -6 5
0 -5 3
我希望输出为:
l = [[0, 1, 6], [0, -6, 5], [0, -5, 3]]
如果我有大型列表,这是执行此操作的更快方法?
我正在使用numpy,但我在这里改变,以便易于理解
我的numpy数组对象是
l = [[1 2 8] [8 2 7] [7 2 5]]
最佳答案 使用numpy.insert和numpy.diff:
>>> import numpy as np
>>> a = np.array([[1, 2, 8], [8, 2, 7], [7, 2, 5]])
>>> np.insert(np.diff(a), 0, 0, axis=1)
array([[ 0, 1, 6],
[ 0, -6, 5],
[ 0, -5, 3]])