据我了解,itertools 函数 是用 C 编写的。如果我想加快这个示例代码的速度:
import numpy as np
from itertools import combinations_with_replacement
def combinatorics(LargeArray):
newArray = np.empty((LargeArray.shape[0],LargeArray.shape[0]))
for x, y in combinations_with_replacement(xrange(LargeArray.shape[0]), r=2):
z = LargeArray[x] + LargeArray[y]
newArray[x, y] = z
return newArray
由于combinations_with_replacement
是用 C 编写的,这是否意味着它无法加速?请指教。
提前致谢。