以下产生一个C连续的numpy数组:
import numpy
a = numpy.ones((1024,1024,5))
Run Code Online (Sandbox Code Playgroud)
现在,如果我切片,结果可能不再相同.例如:
bn = a[:, :, n]
Run Code Online (Sandbox Code Playgroud)
与n从0到4我的问题是,我需要bn为C连续的,我需要为的许多情况下做到这一点.我只需要每bn一次,并希望避免这样做
bn = bn.copy(order='C')
Run Code Online (Sandbox Code Playgroud)
我也不想重写我的代码
a = numpy.ones((5,1024,1024))
Run Code Online (Sandbox Code Playgroud)
有没有bn比复制更快,更便宜的方式?
背景:
我希望a使用每个切片
import hashlib
hashlib.sha1(a[:, :, n]).hexdigest()
Run Code Online (Sandbox Code Playgroud)
不幸的是,这将抛出一个ValueError抱怨订单.所以,如果有另一种快速获取我想要的哈希的方法,我也会使用它.