在for循环中写入2-d数组

时间:2017-09-11 15:41:50

标签: python multidimensional-array

我想从以下for循环中创建2个数组:

with open('y.txt', 'w') as f:
    for j in range (1, 3):
        xN = 0.5 + 0.5*random.uniform(0, 1)
        r = 3.8 + 0.15*random.uniform(0, 1)
        for i in range (1, 313+1):
            xNew = logistic_map(xN, r)
            xN = xNew
            f.write("%f" % xNew)

这当然是创建一个313 * 2 = 626行的文本文件 我想要做的是能够自动创建 j 数组:

Q( j = 1)=前313点
Q(...)
Q( j = N )=最后313分。

另外,如何将其保存到包含313行和 j 列的文本文件中?我现在的文本文件只保存了一个626行的文件。

1 个答案:

答案 0 :(得分:0)

要创建2D数组,您可以像这样修改代码:

ResourceLoader.GetForViewIndependentUse("AssemblyNamespace/Resources").GetString("someKey");

然后您可以使用np.savetxt将其另存为文本文件。

但是,如果您实际上不需要子阵列包含313个点,则可以直接在转置顺序中添加点,从而跳过后面的import numpy as np Q = [] for j in range (1, 3): xN = 0.5 + 0.5*random.uniform(0, 1) r = 3.8 + 0.15*random.uniform(0, 1) temp = [] for i in range (1, 313+1): xNew = logistic_map(xN, r) xN = xNew temp.append(xNew) Q.append(xNew) # Saves each row of 313 points as a separate sub-array Q = np.transpose(np.array(Q)) # Convert this to an array and take the transpose of it 步骤。像这样:

np.transpose()