【问题标题】:Combine two array into 1 array [duplicate]将两个数组合并为一个数组[重复]
【发布时间】:2017-03-22 03:20:56
【问题描述】:

我有两个一维数组: a=[1 2 3] b=[4 5 6]

如何将它们组合成这样的数组 c? c=[[1 4] [2 5] [3 6]]

【问题讨论】:

  • 搜索“堆叠 NumPy 数组”。
  • 你有列表或numpy数组吗?
  • stacking 或 zip 将返回一个列表数组,我不想有一个列表(例如 [(1, 4), ...]

标签: python arrays numpy


【解决方案1】:

你可以试试这个:

c = [[a[i], b[i]] for i in range(len(a))]

我的输出:

[[1, 4], [2, 5], [3, 6]]

【讨论】:

    【解决方案2】:

    你可以把它们压缩在一起

    python2

    c = zip(a,b)
    

    python3

    c = list(zip(a,b))
    

    如果你想要一个列表中的列表,两个 pythons

    c = [[i, j] for i, j in zip(a, b)]
    

    【讨论】:

    • zip(a,b) 已经是list
    • 对 python2 来说是正确的,我在我的解决方案中明确了这一点 :-)
    • 但是,他/她仍然想要list 的列表,而不是tuples 的列表,zip 就是这种情况
    【解决方案3】:

    你可以这样做:

    a = [1, 2, 3]
    b = [4, 5, 6]
    
    np.vstack((a,b)).T
    

    结果

    array([[1, 4],
           [2, 5],
           [3, 6]])
    

    【讨论】:

    • np.hstackarray([1, 2, 3, 4, 5, 6])
    猜你喜欢
    • 2014-06-29
    • 2021-07-16
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2012-11-19
    相关资源
    最近更新 更多