Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将数组的复杂数组转换为列表_Python_Arrays_List - Fatal编程技术网

Python 将数组的复杂数组转换为列表

Python 将数组的复杂数组转换为列表,python,arrays,list,Python,Arrays,List,我有一个复杂的结构数组: t=[[[array([x1,y1,z1,i1,r1,g1,b1]),label1,ind1,dist1], [array([x2,y2,z2,i2,r2,g2,b2]),label1,ind2,dist2], [array([x3,y3,z3,i3,r3,g3,b3]),label1,ind3,dist3]], [[array([x4,y4,z4,i4,r4,g4,b4]),label2,ind4,dist4], [array([x5,y5

我有一个复杂的结构数组:

t=[[[array([x1,y1,z1,i1,r1,g1,b1]),label1,ind1,dist1],
    [array([x2,y2,z2,i2,r2,g2,b2]),label1,ind2,dist2],
    [array([x3,y3,z3,i3,r3,g3,b3]),label1,ind3,dist3]],
   [[array([x4,y4,z4,i4,r4,g4,b4]),label2,ind4,dist4],
   [array([x5,y5,z5,i5,r5,g5,b5]),label2,ind5,dist5]]]
我想转换成这样:

t=[[array([x1,y1,z1,i1,r1,g1,b1]),label1,ind1,dist1,
    array([x2,y2,z2,i2,r2,g2,b2]),label1,ind2,dist2,
    array([x3,y3,z3,i3,r3,g3,b3]),label1,ind3,dist3],
   [array([x4,y4,z4,i4,r4,g4,b4]),label2,ind4,dist4,
    array([x5,y5,z5,i5,r5,g5,b5]),label2,ind5,dist5]]
我已经试过:

t.tolist()
但它不起作用


想法?

这不是一个通用的解决方案,但在这种情况下应该有效:

>>> t = [[[array([1, 1, 1, 1, 1, 1, 1]), 1, 1, 1],
          [array([2, 2, 2, 2, 2, 2, 2]), 1, 2, 2],
          [array([3, 3, 3, 3, 3, 3, 3]), 1, 3, 3]],
         [[array([4, 4, 4, 4, 4, 4, 4]), 2, 4, 4],
          [array([5, 5, 5, 5, 5, 5, 5]), 2, 5, 5]]]

>>> newt = [[k for subsubt in subt for k in subsubt] for subt in t]

>>> print newt
[[array([1, 1, 1, 1, 1, 1, 1]),
  1,
  1,
  1,
  array([2, 2, 2, 2, 2, 2, 2]),
  1,
  2,
  2,
  array([3, 3, 3, 3, 3, 3, 3]),
  1,
  3,
  3],
 [array([4, 4, 4, 4, 4, 4, 4]),
  2,
  4,
  4,
  array([5, 5, 5, 5, 5, 5, 5]),
  2,
  5,
  5]]

注意:我替换了列表中的值以使其可复制。

只需将一个级别链接为:

这将删除一个级别:

[[array(['x1', 'y1', 'z1', 'i1', 'r1', 'g1', 'b1'], 
      dtype='<U2'),
  'label1',
  'ind1',
  'dist1',
  array(['x2', 'y2', 'z2', 'i2', 'r2', 'g2', 'b2'], 
      dtype='<U2'),
  'label1',
  'ind2',
  'dist2',
  array(['x3', 'y3', 'z3', 'i3', 'r3', 'g3', 'b3'], 
      dtype='<U2'),
  'label1',
  'ind3',
  'dist3'],
 [array(['x4', 'y4', 'z4', 'i4', 'r4', 'g4', 'b4'], 
      dtype='<U2'),
  'label2',
  'ind4',
  'dist4',
  array(['x5', 'y5', 'z5', 'i5', 'r5', 'g5', 'b5'], 
      dtype='<U2'),
  'label2',
  'ind5',
  'dist5']]
[[数组(['x1',y1',z1',i1',r1',g1',b1'],

dtype='多谢!非常有魅力!
[[array(['x1', 'y1', 'z1', 'i1', 'r1', 'g1', 'b1'], 
      dtype='<U2'),
  'label1',
  'ind1',
  'dist1',
  array(['x2', 'y2', 'z2', 'i2', 'r2', 'g2', 'b2'], 
      dtype='<U2'),
  'label1',
  'ind2',
  'dist2',
  array(['x3', 'y3', 'z3', 'i3', 'r3', 'g3', 'b3'], 
      dtype='<U2'),
  'label1',
  'ind3',
  'dist3'],
 [array(['x4', 'y4', 'z4', 'i4', 'r4', 'g4', 'b4'], 
      dtype='<U2'),
  'label2',
  'ind4',
  'dist4',
  array(['x5', 'y5', 'z5', 'i5', 'r5', 'g5', 'b5'], 
      dtype='<U2'),
  'label2',
  'ind5',
  'dist5']]