我正在寻找一种方法来计算一个二维数组的值差。
arr1 = [[1,2,3],[5,6,7]]
我的数组是这样的,我希望我的代码减去5-1,6-2和7-3。
有可能吗?
下面这句话似乎管用
arr1 = [[1,2,3],[5,6,7]] arr = [x - arr1[0][idx] for idx,x in enumerate(arr1[1])] print(arr)
乌尔普特
[4, 4, 4]
你可以用 zip() .
zip()
>>> arr1 = [[1,2,3], [5,6,7]] >>> [b - a for (a, b) in zip(*arr1)] [4, 4, 4]
( zip(*x) 是一个有用的习语,通常用来转置一个可数的可数,即turn [[1, 2, 3], [5, 6, 7]] 到 [[1, 5], [2, 6], [3, 7]] .)
zip(*x)
[[1, 2, 3], [5, 6, 7]]
[[1, 5], [2, 6], [3, 7]]