我正在寻找一种方法来计算一个二维数组的值的差异。
arr1 = [[1,2,3],[5,6,7]]
我的数组将是这样的,我希望我的代码减去5-1,6-2和7-3。
这可能吗?
您可以使用zip()
>>> arr1 = [[1,2,3], [5,6,7]]
>>> [b - a for (a, b) in zip(*arr1)]
[4, 4, 4]
(zip(*x)
通常是将可迭代对象的可迭代对象转置的有用习语,即将[[1, 2, 3], [5, 6, 7]]
变为[[1, 5], [2, 6], [3, 7]]
)
下面一行似乎可以工作
arr1 = [[1,2,3],[5,6,7]]
arr = [x - arr1[0][idx] for idx,x in enumerate(arr1[1])]
print(arr)
ourput
[4, 4, 4]