Pythonic打印2D列表的方法 - Python

时间:2017-07-11 07:07:49

标签: python list multidimensional-array

我有这样一个2D字符列表:

a = [['1','2','3'],
     ['4','5','6'],
     ['7','8','9']]

将列表作为整个块打印的最pythonic方式是什么?即没有逗号或括号:

123
456
789

4 个答案:

答案 0 :(得分:7)

有很多方法。可能是str.join s的映射的str.join

>>> a = [['1','2','3'],
...          ['4','5','6'],
...          ['7','8','9']]
>>> print('\n'.join(map(''.join, a)))
123
456
789
>>>

答案 1 :(得分:0)

像这样:

import os

array = [['1','2','3'],
         ['4','5','6'],
         ['7','8','9']]
print(os.linesep.join(map(''.join, array)))

答案 2 :(得分:0)

如果您正在寻找 Pythonic ,那么您肯定需要生成器理解:

print('\n'.join(''.join(i) for i in array))

答案 3 :(得分:0)

我认为最好的方法是使用print功能。使用print函数,您不需要任何类型的连接和转换(如果所有对象都不是字符串)。

>>> a = [['1','2','3'],
...      ['4', 5, 6],   # Contains integers as well.
...      ['7','8','9']]
...

>>> for x in a:
...     print(*x, sep='')
...
...
123
456
789

如果您使用的是Python 2,则可以使用from __future__ import print_function导入打印功能。