我有这样一个2D字符列表:
a = [['1','2','3'],
['4','5','6'],
['7','8','9']]
将列表作为整个块打印的最pythonic方式是什么?即没有逗号或括号:
123
456
789
答案 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
导入打印功能。