在python3中打印多维列表

时间:2014-11-03 06:45:35

标签: list python-3.x printing multidimensional-array

我正在寻找一种以特定方式打印多维列表的方法。 这就是我的整个int列表的样子。

[[1,2,3],[4,5,6]]

[[1,2,3,4,5,6]]

我想在列表中的两个“大”元素之间用空格和逗号打印每个元素。因此,对于我的示例,输出将是:

1 2 3, 4 5 6

1 2 3 4 5 6

我使用的是python 3.4.2

4 个答案:

答案 0 :(得分:1)

In [78]: L = [[1,2,3],[4,5,6]]

In [79]: ', '.join([' '.join([str(i) for i in subl]) for subl in L])
Out[79]: '1 2 3, 4 5 6'

In [80]: L = [[1,2,3,4,5,6]]

In [81]: ', '.join([' '.join([str(i) for i in subl]) for subl in L])
Out[81]: '1 2 3 4 5 6'

答案 1 :(得分:0)

可以使用'sep'.join(...)轻松加入字符串,sep是分隔符。在连接数组的一部分的数字之前,您需要将它们转换为字符串。这可以使用map函数轻松完成。对于i中的每个元素,它都应用str函数。在用空格分隔每个部分的数字后,您可以将部分连接到最终结果。

l = [[1,2,3],[4,5,6]]
print ', '.join([' '.join(map(str, i)) for i in l])

输出:

1 2 3, 4 5 6

注意:在Python 3中,您需要使用括号print来调用print(...)

答案 2 :(得分:0)

>>> l = [[1, 2, 3], [4, 5, 6]]
>>> ', '.join(map(lambda x: ' '.join(map(str, x)), l))
'1 2 3, 4 5 6'
>>> l = [[1, 2, 3, 4, 5, 6]]
>>> ', '.join(map(lambda x: ' '.join(map(str, x)), l))
'1 2 3 4 5 6'

答案 3 :(得分:0)

ls = [[1, 2, 3, 4], [5, 6, 7, 8]]

for n in range(0, len(ls)):
    for m in range(0, len(ls[n])):
        print(str(ls[n][m]) + ' ', end='')
    if n < (len(ls)-1):
        print(', ', end='')
    else:
        print('')