-4

如何创建具有以下格式的新列表。

每行内的 3 个数组应位于不同的行中。

a= [['111,0.0,1', '111,1.27,2', '111,3.47,3'],
    ['222,0.0,1', '222,1.27,2', '222,3.47,3'],
    ['33,0.0,1', '33,1.27,2', '33,3.47,3'],
    ['44,0.0,1', '44,1.27,2', '4,3.47,3'],
    ['55,0.0,1', '55,1.27,2', '55,3.47,3']]

最终期望的输出:

 b=[['111,0.0,1', 
  '111,1.27,2', 
  '111,3.47,3',
  '222,0.0,1', 
  '222,1.27,2', 
  '222,3.47,3',
  '33,0.0,1', 
  '33,1.27,2', 
  '33,3.47,3',
  '44,0.0,1',
  '44,1.27,2',
  '44,3.47,3',
  '55,0.0,1', 
  '55,1.27,2', 
  '55,3.47,3']]
4

2 回答 2

1

这是你想要的?

b = [[j for i in a for j in i]]
于 2019-05-03T19:04:57.247 回答
1

需要明确的是,Python 中没有行与列的概念。您的最终结果只是str另一个列表中的一个大列表。

您可以通过将所有原始小列表链接在一起来创建大列表(a[0] + a[1] + ...),我们可以使用

import itertools
big_list = list(itertools.chain(*a))

要将其放入另一个列表中,

b = [big_list]
于 2019-05-03T19:06:39.113 回答