如何拆分列表列表,以便每个列表都在自己的行上?

时间:2015-10-18 19:29:53

标签: python list

当我读取CSV文件时,它打印出同一行上的所有列表,我不知道如何将它们按列表分成单独的行。

打印出来像这样:

[[1, 1, 2.2, 1.3, 9.6], [1, 2, 2.1, 2.2, 7.6], [1, 3, 2.7, 1.5, 2.2], [2, 1, 3.0, 4.5, 1.5], [2, 2, 3.1, 3.1, 4.0], [2, 3, 2.5, 2.8, 3.0], [3, 1, 1.9, 1.8, 4.5], [3, 2, 1.1, 0.5, 2.3], [3, 3, 3.5, 2.0, 7.5], [4, 1, 2.9, 2.7, 3.2], [4, 2, 4.5, 4.8, 6.5], [4, 3, 1.2, 1.8, 2.7]]

2 个答案:

答案 0 :(得分:0)

这将按您的要求打印:

x = [[1, 1, 2.2, 1.3, 9.6], [1, 2, 2.1, 2.2, 7.6], [1, 3, 2.7, 1.5, 2.2], [2, 1, 3.0, 4.5, 1.5], [2, 2, 3.1, 3.1, 4.0], [2, 3, 2.5, 2.8, 3.0], [3, 1, 1.9, 1.8, 4.5], [3, 2, 1.1, 0.5, 2.3], [3, 3, 3.5, 2.0, 7.5], [4, 1, 2.9, 2.7, 3.2], [4, 2, 4.5, 4.8, 6.5], [4, 3, 1.2, 1.8, 2.7]]
y = '\n'.join([','.join([str(z) for z in y]) for y in x])
print y

将其打印或写入csv文件。

答案 1 :(得分:0)

看起来你有一份清单清单。当您打印类似的内容时,默认情况下,您将在一行中获取所有值,因为这是list.__repr__的工作方式。如果你想以其他格式打印,你必须自己做。

这是一种与您建议的输出完全相同的方法:

for inner in list_of_lists:
    print(*inner, sep=',')

这是使用Python 3中的print函数。如果你正在使用Python 2,我会重新使用from __future__ import print_function来访问它(尽管你也可以使用str.join来构建输出,然后使用Python 2 print语句。