【问题标题】:How to Append array from list of array?如何从数组列表追加数组?
【发布时间】:2023-01-30 14:21:29
【问题描述】:

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

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

【问题讨论】:

  • 当你定义你的数组时,它在你写的 for 循环之外,所以 k 不会改变,因此最后一个值总是 a[k] 其中 k 是 9
  • 另外,为什么每次都有一个 for 循环来导入 numpy?
  • @Emi OB可以。如果可能的话你更正

标签: python arrays python-3.x list numpy


【解决方案1】:
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 ]])

【讨论】:

    猜你喜欢
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多