假设我有这个星号列表,我说它以这种方式打印:
list = ['* *', '*', '* * *', '* * * * *', '* * * * * *', '* * * *']
for i in list:
print i
Run Code Online (Sandbox Code Playgroud)
所以在这里,输出是:
* *
*
* * *
* * * * *
* * * * * *
* * * *
Run Code Online (Sandbox Code Playgroud)
但我希望输出是垂直的,如下所示:
* * * * * *
* * * * *
* * * *
* * *
* *
*
Run Code Online (Sandbox Code Playgroud)
这样做的任何提示?我试图概念化如何使用list comprehension或for-loops这样的东西,但是没有把它弄得很正确.
myList = ['* *', '*', '* * *', '* * * * *', '* * * * * *', '* * * *']
import itertools
for i in itertools.izip_longest(*myList, fillvalue=" "):
if any(j != " " for j in i):
print " ".join(i)
Run Code Online (Sandbox Code Playgroud)
产量
* * * * * *
* * * * *
* * * *
* * *
* *
*
Run Code Online (Sandbox Code Playgroud)
>>> from itertools import izip_longest
>>> list_ = ['a', 'bc', 'def']
>>> for x in izip_longest(*list_, fillvalue=' '):
... print ' '.join(x)
...
a b d
c e
f
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14604 次 |
| 最近记录: |