我可以使用~A反转一个numpy数组的布尔值,而不是相当笨拙的函数np.logical_and()和np.invert()?事实上,~似乎工作正常,但我找不到它的任何nympy参考手册,以及-更令人担忧的-它的确不能与标量工作(如bool(~True)退货True!),所以我有点担心...
在特定轴上求和数组时,专用数组方法array.sum(ax)实际上可能比for循环慢:
v = np.random.rand(3,1e4)
timeit v.sum(0) # vectorized method
1000 loops, best of 3: 183 us per loop
timeit for row in v[1:]: v[0] += row # python loop
10000 loops, best of 3: 39.3 us per loop
Run Code Online (Sandbox Code Playgroud)
矢量化方法比普通的for循环慢4倍!这里(g)的内容(wr),我不能相信numpy中的矢量化方法比for循环更快吗?
当同时循环遍历多个 python 列表时,我使用zip- 函数,我还想检索循环索引。为此,循环索引的单独列表可以包含在 zip 函数中,例如:
for index, item1, item2 in zip(range(len(list1)), list1, list2):
<do something>
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点(比如在enumerate-function 中)?