Python 3.6.4,Anaconda,Windows 10 x64,numpy 1.13.3。
>>> q = np.fromfunction(lambda i: 7, (3, ), dtype=np.float32)
>>> q
7
>>> q = np.fromfunction(lambda i: 7 + 0*i, (3, ), dtype=np.float32)
>>> q
array([ 7., 7., 7.], dtype=float32)
预期吗?基本上,我尝试做的是从二进制流中填充数组,但
>>> q = np.fromfunction(lambda i: struct.unpack('f', f.read(4))[0], (3, ), dtype=np.float32)
赢了工作 - 只分配了标量