打印以格式对齐的列表

时间:2014-09-04 10:26:48

标签: python format

我刚从这个答案中学到this answer我可以使用format列表:

li = [2, 3, 5, 7, 11]
print '{0} {2} {1} {4}'.format(*li) # => 2 5 3 11

现在我想证明列表中的每个元素都是合理的。我正在做的是:

print "{0:>12}{1:>12}{2:>12}{3:>12}".format(*PROPERTIES)

但是,这不太方便,因为列表可能会变大。我很好奇只能使用printformat(没有循环)吗?

2 个答案:

答案 0 :(得分:2)

是的,您可以map对每个项目str.format进行相同的str.join,然后>>> li = [2, 3, 5, 7, 11] >>> print "".join(map("{0:>12}".format, li)) 2 3 5 7 11 将结果放在一起:

{{1}}

事实上,看了之后,这就是你所链接的答案中完全正在做什么

答案 1 :(得分:2)

li = [2, 3, 5, 7, 11]
print ('{:>12}'*len(li)).format(*li) 
        2           3           5           7          11