【问题标题】:Create 2d Array in Python Using For Loop Results使用 For 循环结果在 Python 中创建二维数组
【发布时间】:2016-02-15 06:56:57
【问题描述】:

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

 for i in range(10):

      'bunch of stuff'

      centerx = xc
      centery = yc

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

【问题讨论】:

    标签: python arrays


    【解决方案1】:

    你可以试试这个:

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

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

    [[ 2  0]
     [ 3  1]
     [ 4  2]
     [ 5  3]
     [ 6  4]
     [ 7  5]
     [ 8  6]
     [ 9  7]
     [10  8]
     [11  9]]
    

    或者这可能更好:

    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))
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

      aList = []
      for i in range(10):
          aList.append([xc, yc])
      

      【讨论】:

        【解决方案3】:

        试试这个理解,

        [ [i, i*10] for i in range(5) ]
        

        提供

        [[0, 0], [1, 10], [2, 20], [3, 30], [4, 40], [5, 50]]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-30
          • 2014-10-25
          • 1970-01-01
          • 2019-06-02
          • 1970-01-01
          • 2018-03-31
          相关资源
          最近更新 更多