【问题标题】:Group 2 array on an array python 3 (array in array)数组python 3上的第2组数组(数组中的数组)
【发布时间】:2017-12-02 13:07:22
【问题描述】:

我需要对 2 个数组进行分组,它取自不同的数据。我想将它们分组到一个数组中。

例如我有

arrTrain[index][5] = [29.8496231131986], [23.748684174075834]

arrTrain[index][4] = [1],[0]

所以我需要将它们分组为 =

[[[29.8496231131986],[1]],[[23.748684174075834],[0]]]

我的程序

tabel = []
for i in range(0,1):
   temp = []
   for j in range(0,2):
       euc = [math.sqrt(((arrTrain[j][0] - arrTes[i][0])**2) + ((arrTrain[j][1]-arrTes[i][1])**2) + ((arrTrain[j][2] - arrTes[i][2])**2) + ((arrTrain[j][3]-arrTes[i][3])**2))]
      hoaxbaru = [arrTrain[j][4]]
      temp.append(euc)
      temp.append(hoaxbaru)
      tabel.append(temp)
print(table)

输出是

[[[29.8496231131986], [0], [23.748684174075834], [0]], [[29.8496231131986], [0], [23.748684174075834], [0]]]

【问题讨论】:

  • 我想最后一个“表”是错字

标签: python arrays python-3.x multidimensional-array


【解决方案1】:

您需要在 inner 循环内将 temp 初始化为空列表。

temp=[]

否则它只是不断附加到以前的数据。

【讨论】:

    【解决方案2】:

    要以这种方式合并数组,您可以使用zip 内置函数。

    示例:

    >>> arr1 = [1,2,3,4,5,6]
    >>> arr2 = [7,8,9,10,11,12]
    >>> zipped = zip(arr1,arr2)
    >>> list(zipped)
    [(1, 7), (2, 8), (3, 9), (4, 10), (5, 11), (6, 12)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-08
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      相关资源
      最近更新 更多