将numpy 2D数组转换为列表

时间:2015-12-19 05:35:54

标签: python python-2.7

我有一个数组

r = np.zeros((5,6))
print r

,其输出为

[[ 0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.]] 

我想将此数组中的值分配给列表 所以我按名称网格

创建了一个列表
grid1 = [['a' for i in range (0,6)]  for j in range (0,5)]
print grid1

,其输出为

[['a', 'a', 'a', 'a', 'a', 'a'], ['a', 'a', 'a', 'a', 'a', 'a'], ['a', 'a', 'a', 'a', 'a', 'a'], ['a', 'a', 'a', 'a', 'a', 'a'], ['a', 'a', 'a', 'a', 'a', 'a']]

如何使用for循环将数组中的每个值分配到列表中的相应位置?

我正在使用python 2.7

输出应为:

 [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0]]

3 个答案:

答案 0 :(得分:4)

import numpy as np
r = np.zeros((5,6))
lst = r.tolist()

答案 1 :(得分:1)

另一个版本,使用for循环和两个数组,按元素从numpy数组连接到python list元素:

CREATE TABLE TABLE_NAME AS (SELECT * FROM VIEW_NAME) ;

listed = [] temp = [] r = np.zeros((5,6)) for i in r: for j in i: temp += [int(j)] listed += [temp] temp = [] print listed 返回

listed

......正如所料。

答案 2 :(得分:0)

没有完全理解。这是你想要的吗?

numbers = []
  for array in r:
    for arrayj in array:
        numbers.append(arrayj)