numpy 如何从数组列表中追加数组?

hfwmuf9z  于 2023-01-09  发布在  其他
关注(0)|答案(1)|浏览(178)

我正在运行下面的脚本,但是它没有给我想要的输出。它只打印了最后一个元素;我想打印每个元素。

a = ([0.1, 0.2, 0.43, 0.44,0.55,0.36,0.57,0.58,0.39,0.40])
for k in range(len(a)):
   # print(a[i])
   #print (a[k])
    import numpy as np

array = np.array([[i, j,a[k]] 
                  for i in range(1, 5)
                  for j in range(i + 1, 6)])
array

预期产出

array([[ 1,  2, 0.1],
       [ 1,  3, 0.2],
       [ 1,  4, 0.43],
       [ 1,  5, 0.44],
       [ 2,  3, 0.55],
       [ 2,  4, 0.36],
       [ 2,  5, 0.57],
       [ 3,  4, 0.58],
       [ 3,  5, 0.39],
       [ 4,  5, 0.40]])
fwzugrvs

fwzugrvs1#

a=[0.1, 0.2, 0.43, 0.44,0.55,0.36,0.57,0.58,0.39,0.40]
k=[[i, j] for i in range(1, 5) for j in range(i + 1, 6)]

print(k)
# [[1, 2], [1, 3], [1, 4], [1, 5], [2, 3], [2, 4], [2, 5], [3, 4], [3, 5], [4, 5]]

for x,y in enumerate(a):
    k[x].append(y)
print(k)

# [[1, 2, 0.1], [1, 3, 0.2], [1, 4, 0.43], [1, 5, 0.44], [2, 3, 0.55], [2, 4, 0.36], [2, 5, 0.57], [3, 4, 0.58], [3, 5, 0.39], [4, 5, 0.4]]

k=np.array(k) #convert to np array
print(k)

array([[1.  , 2.  , 0.1 ],
       [1.  , 3.  , 0.2 ],
       [1.  , 4.  , 0.43],
       [1.  , 5.  , 0.44],
       [2.  , 3.  , 0.55],
       [2.  , 4.  , 0.36],
       [2.  , 5.  , 0.57],
       [3.  , 4.  , 0.58],
       [3.  , 5.  , 0.39],
       [4.  , 5.  , 0.4 ]])

相关问题