Ben*_*ey4 8 python loops for-loop list pretty-print
假设我有这两个列表:
column1 = ["soft","pregnant","tall"]
column2 = ["skin","woman", "man"]
Run Code Online (Sandbox Code Playgroud)
如何使用自定义的固定空间(例如10,如示例)循环打印这两个列表,从第一个列表的每个元素的第一个字母开始,直到第二个列表的每个元素的第一个字母?
设置间距为10的示例输出:
soft skin
pregnant woman
tall man
Run Code Online (Sandbox Code Playgroud)
轻松完成字符串格式化,
column1 = ["soft","pregnant","tall"]
column2 = ["skin","woman", "man"]
for c1, c2 in zip(column1, column2):
print "%-9s %s" % (c1, c2)
Run Code Online (Sandbox Code Playgroud)
或者您可以使用str.ljust,如果您希望填充基于变量,则更整洁:
padding = 9
for c1, c2 in zip(column1, column2):
print "%s %s" % (c1.ljust(padding), c2)
Run Code Online (Sandbox Code Playgroud)
(注意:填充9不是10因为单词之间的硬编码空间)
怎么样:
>>> column1 = ["soft","pregnant","tall"]
>>> column2 = ["skin","woman", "man"]
>>> for line in zip(column1, column2):
... print '{:10}{}'.format(*line)
...
soft skin
pregnant woman
tall man
Run Code Online (Sandbox Code Playgroud)