如何垂直打印此列表? [英] How do I print this list vertically?

查看:80
本文介绍了如何垂直打印此列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有以下星号列表,并以这种方式打印:

Let's say I have this list of asterisks, and I say it to print this way:

list = ['* *', '*', '* * *', '* * * * *', '* * * * * *', '* * * *']
for i in list:
    print i

所以在这里,输出为:

* *
*
* * *
* * * * *
* * * * * *
* * * *

但是我希望输出是垂直的,就像这样:

But I want the output to be vertical, like this:

* * * * * *
*   * * * *
    * * * *
      * * *
      * * 
        * 

执行此操作的任何提示?我试图概念化如何使用列表理解或for循环等方法,但是还不太正确。

Any tips on doing this? I've tried to conceptualize how to use things like list comprehension or for-loops for this, but haven't got it quite right.

推荐答案

myList = ['* *', '*', '* * *', '* * * * *', '* * * * * *', '* * * *']
import itertools
for i in itertools.izip_longest(*myList, fillvalue=" "):
    if any(j != " " for j in i):
        print " ".join(i)

输出

* * * * * *
*   * * * *
    * * * *
      * * *
      * *  
        *  

这篇关于如何垂直打印此列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆