您如何将for循环的结果存储为单个数组?

时间:2019-03-31 15:42:43

标签: python arrays python-3.x

我设法创建了一个for循环,该循环为我提供了所需的结果,但是我正在努力将这些结果整理到单个数组中,以便将其作为x值绘制在一个图形。

我已经考虑过将它们首先整理到一个列表中(但我也为此而努力)。

我也尝试过在下面追加,扩展和堆叠数组,但是似乎没有任何效果。

尝试追加时,出现一条错误消息,提示不存在“值”。

a = 0.1
x = 0.2 

for i in range(1,10):  
    a = a**3
    x = x**2
    array = np.array ([a, x])

    print (array)

上面的代码提供9个单独的数组,而不是1个。

[(a1, x1), (a2, x2), ... (a9, x9)]

任何解决此问题或替代方法的建议将不胜感激!谢谢!

3 个答案:

答案 0 :(得分:2)

好,所以您想将两个变量值都存储在此模式(a1,x1),(a2,x2)....

因此可以通过这种方式完成 就像首先假设两个单独的list用于a和x,然后merge将它们转换成所需的格式

整个代码显示在这里

import numpy as np
a = 0.1
x = 0.2 
list1= []
list2=[]
for i in range(1,10):  
    a = a**3
    x = x**2
    list1.append(a)
    list2.append(x)
merged_list = [(list1[i], list2[i]) for i in range(0, len(list1))]
print(merged_list)

这将为您提供所需的输出。感谢您询问

答案 1 :(得分:2)

使用append将值附加到list

a = 0.1
x = 0.2 

array = []
for i in range(1,10):  
    a = a**3
    x = x**2
    array.append([a, x])

print(array)

如果要使用numpy.array

a = np.power(np.repeat(0.1, 10), 3)
x = np.power(np.repeat(0.2, 10), 2)

print(np.array(list(zip(a,x))))

答案 2 :(得分:1)

您要将多个项目添加到列表中吗?

第一个解决方案:

l = []
for i in range(1,10):
    a = a**3
    x = x**2
    l.extend([a, x])
print(l)

第二种解决方法:

l = []
for i in range(1,10):
    a = a**3
    x = x**2
    l+= [a, x]
print(l)

您是否要将多个项目附加到一个numpy数组

array = np.array([])
for i in range(1,10):
    a = a**3
    x = x**2
    array = np.append(array, [a,x])
print(array)