打印格式化列表

时间:2014-09-13 11:11:46

标签: python string list formatting

我有一个清单:

l = [i for i in range(9)]

我需要格式化其字符串表示形式如下:

'{0}{1}{2}\n{3}{4}{5}\n{6}{7}{8}'.format(l[0], l[1], l[2], l[3], l[4], l[5], l[6], l[7], l[8])

有没有更优雅/简洁的方法来做这样的事情?

我想到了以下内容:

'{0}{1}{2}\n{3}{4}{5}\n{6}{7}{8}'.format([l[i] for i in range(9)])

但似乎它不起作用。 任何替代方案?

2 个答案:

答案 0 :(得分:2)

您可能想要进行参数解包:

'{0}{1}{2}\n{3}{4}{5}\n{6}{7}{8}'.format(*l)

查看here了解更多详情。

答案 1 :(得分:0)

FWIW,这是一个Python 2风格的版本:

L = list('abcdefghi')
print '\n'.join([''.join(u) for u in zip(*[L[i::3] for i in (0, 1, 2)])])