使用 For 循环结果在 Python 中创建二维数组

sun*_*e32 6 python arrays

我在 for 循环中运行一些代码。我想从循环中获取结果并将它们放入一个二维数组中,该数组有 2 列,行数与我迭代循环的次数相同。这是我所拥有的简化版本:

 for i in range(10):

      'bunch of stuff'

      centerx = xc
      centery = yc
Run Code Online (Sandbox Code Playgroud)

如何将我的值保存centerxcentery2 列 10 行的二维数组中?任何帮助表示赞赏,谢谢!

Lit*_*wos 4

你可以试试这个:

import numpy as np
listvals = []
for i in range(10):
    listvals.append((xc, yc))
mat_vals = np.vstack(listvals)
Run Code Online (Sandbox Code Playgroud)

这将输出一个像这样的 ndarray:

[[ 2  0]
 [ 3  1]
 [ 4  2]
 [ 5  3]
 [ 6  4]
 [ 7  5]
 [ 8  6]
 [ 9  7]
 [10  8]
 [11  9]]
Run Code Online (Sandbox Code Playgroud)

或者这可能更好:

import numpy as np
list_xc = []
list_yc = []
for i in np.arange(10): 
    list_xc.append(xc)
    list_yc.append(yc)
mat_xc = np.asarray(list_xc)
mat_yc = np.asarray(list_yc)
mat_f = np.column_stack((mat_xc, mat_yc))
Run Code Online (Sandbox Code Playgroud)