在python中复制打印

时间:2011-11-11 17:13:39

标签: python python-2.7

当我尝试多次打印函数的结果时,我遇到了问题。 比方说,例如,在几个命令后,结果是dreawing

()()()
 ()()
  ()

现在我想根据一个函数复制它,所以我使用了一个循环 但它只能以这样的垂直方式再次打印出来:

()()()
 ()()
  ()

()()()
 ()()
  ()

()()()
 ()()
  ()

虽然我希望它像那样横向:

()()()  ()()()   ()()()
 ()()    ()()     ()()
  ()      ()       ()
你可以帮助我吗?

1 个答案:

答案 0 :(得分:4)

这是解决问题的有效方法。

lines = [
"()()()",
" ()()",
"  ()"
]

def replicate(lines, n):
    width = reduce(max, map(len, lines))
    return (' '.join([line.ljust(width)] * n) for line in lines)

for line in replicate(lines, 3):
    print line

修改: 增加间距管理

<强> EDIT2 : 由于同伴压力使用了生成器表达式: - )