我使用以下代码
创建了一个列表grid = [['a' for i in range (0,5)] for j in range (0,3)]
print grid
代码的输出是
[['a', 'a', 'a', 'a', 'a'], ['a', 'a', 'a', 'a', 'a'], ['a', 'a', 'a','a', 'a']]
我想以
的形式显示此列表 [['a', 'a', 'a', 'a', 'a'],
['a', 'a', 'a', 'a', 'a'],
['a', 'a', 'a', 'a', 'a']]
我应该做些什么改变来获得这个输出
我正在使用python 2.7
我不想导入任何额外的模块
答案 0 :(得分:6)
您只需使用pprint.pprint()
即可:
>>> from pprint import pprint
>>> grid = [['a' for i in range (0,5)] for j in range (0,3)]
>>> pprint(grid)
[['a', 'a', 'a', 'a', 'a'],
['a', 'a', 'a', 'a', 'a'],
['a', 'a', 'a', 'a', 'a']]
>>>
来自文件:
在流上打印对象的格式化表示,然后是换行符。如果流为
None
,则使用sys.stdout
。这可以在交互式解释器中使用,而不是用于检查值的PrettyPrinter
构造函数。
答案 1 :(得分:2)
如果你想避免导入任何模块,就像你在评论中建议的那样,以这种方式打印,用手动加入内部列表的字符串表示:
print '[' + ',\n '.join(str(x) for x in grid) + ']'
以这种方式工作:
>>> grid = [['a' for i in range (0,5)] for j in range (0,3)]
>>> print '[' + ',\n '.join(str(x) for x in grid) + ']'
[['a', 'a', 'a', 'a', 'a'],
['a', 'a', 'a', 'a', 'a'],
['a', 'a', 'a', 'a', 'a']]