首页 > 解决方案 > 如何将数组列表转换为一个列表?

问题描述

如何将数组列表转换为一个列表并每行打印 6 个元素?

数组列表如下所示:

[['UES9151GS5', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n'],
 ['SJD8775RZ4', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n'],
 ['MXU9187YC7', 'MOO1786A', 'MAD', 'FRA', '1420563408', '184\n'],
 ['PUD8209OG3', 'XXQ4064B', 'JFK', 'FRA', '1420563917', '802\n']]

我希望它看起来像这样:

['UES9151GS5', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n',
 'SJD8775RZ4', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n',
 'MXU9187YC7', 'MOO1786A', 'MAD', 'FRA', '1420563408', '184\n',
 'PUD8209OG3', 'XXQ4064B', 'JFK', 'FRA', '1420563917', '802\n']

我试过的是这段代码:

merged_list = []

for l in mylist:
    merged_list += l

这就是我得到的:

['UES9151GS5',
 'SQU6245R',
 'DEN',
 'FRA',
 '1420564460',
 '1049\n',
 'SJD8775RZ4',
 'SQU6245R',
 'DEN',
 'FRA',
 '1420564460',
 '1049\n',
 'MXU9187YC7',
 'MOO1786A',
 'MAD',
 'FRA',
 '1420563408',
 '184\n',
 'PUD8209OG3',
 'XXQ4064B',
 'JFK',
 'FRA',
 '1420563917',
 '802\n']

我正在寻找的是每行打印 6 个元素非常感谢您的帮助。

标签: pythonpython-3.xlistmultidimensional-arrayjupyter-notebook

解决方案


要将原始嵌套数组解压缩为单个数组:

a = [['UES9151GS5', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n'],
     ['SJD8775RZ4', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n'],
     ['MXU9187YC7', 'MOO1786A', 'MAD', 'FRA', '1420563408', '184\n'],
     ['PUD8209OG3', 'XXQ4064B', 'JFK', 'FRA', '1420563917', '802\n']]

b = []
for row in a:
    b += row

结果是:

b = ['UES9151GS5', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n', 'SJD8775RZ4', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n', 'MXU9187YC7', 'MOO1786A', 'MAD', 'FRA', '1420563408', '184\n', 'PUD8209OG3', 'XXQ4064B', 'JFK', 'FRA', '1420563917', '802\n']

如果要在每个包含 "\n" 的字符串之后打印带有换行符的单个数组,则:

print(*b)

其中 splat (*) 表示可迭代拆包。(见https://docs.python.org/3/tutorial/controlflow.html#tut-unpacking-arguments


推荐阅读