Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将for循环生成的元素追加到数组中_Python_Arrays_Python 2.7_Numpy_For Loop - Fatal编程技术网

Python 将for循环生成的元素追加到数组中

Python 将for循环生成的元素追加到数组中,python,arrays,python-2.7,numpy,for-loop,Python,Arrays,Python 2.7,Numpy,For Loop,我想生成一个数组,其中包含for循环生成的所有元素。我在NumPy手册或stackoverflow中没有发现任何相关或有用的内容。这是代码中有问题的部分 import numpy as np for i in range(0,26): d = np.random.uniform(i,i+1.75) empty = np.array([]) all = np.append(empty, d) print all 我尝试了附加和连接,它们都只打印25个数组,但只存

我想生成一个数组,其中包含for循环生成的所有元素。我在NumPy手册或stackoverflow中没有发现任何相关或有用的内容。这是代码中有问题的部分

import numpy as np

for i in range(0,26):
    d = np.random.uniform(i,i+1.75)
    empty = np.array([])
    all = np.append(empty, d)
    print all
我尝试了附加和连接,它们都只打印25个数组,但只存储到最后一个数组


任何帮助都将不胜感激。

您的
所有
都应该放在循环之外,这样您就可以避免覆盖以前写入的值,并且应该更新该值,而不是将其重新分配给一个新的附加

import numpy as np

all = np.array([])
for i in range(0,26):
    d = np.random.uniform(i,i+1.75)
    all = np.append(all, d)
    print all

@摩西的回答很好,但你可以在努比直接做到这一点
np.random.uniform
还接受一个大小参数。因此,您的代码可以简化为:

all = np.random.uniform(0, 1.75, size=(26,))
all += np.arange(26)
这里的技巧是认识到
np.random.uniform(0,1.75)+1
np.random.uniform(1,2.75)

第二行是说明循环中的索引。结果将是:

array([  0.82259558,   1.07737171,   3.56331306,   3.44506941,
         5.36435903,   6.43062515,   7.4293016 ,   8.62581585,
         9.64664137,  10.11875821,  10.04800508,  12.03356491,
        13.16818327,  14.12761814,  15.09009053,  15.96770449,
        17.0981378 ,  17.47152708,  18.15557107,  20.13834956,
        21.22972932,  22.15797838,  22.97552168,  23.09385798,
        24.17160732,  25.07440533])

这个解决方案可能有点难理解,但当你想做更复杂的计算时,它是一个非常强大的模式。如果你不明白,请告诉我。而且,@摩西的解决方案也是正确的

@nikjohn您还应该将
打印所有
放在循环之外