在python中垂直打印行(不作为列表)

在python中垂直打印行(不作为列表),python,line,Python,Line,我想垂直打印字符串。我不知道当它不是以列表的形式时如何做。。。我提到了izip,但我猜这只适用于列表 Input Output Variable Constant 我最初把上面的内容列为一个清单,然后我做了 List = ['Input', 'Output', 'Variable', 'Constant') for entry in List.strip().split(','): nospace_list = entry.lstrip() print nospace_lis

我想垂直打印字符串。我不知道当它不是以列表的形式时如何做。。。我提到了izip,但我猜这只适用于列表

Input
Output 
Variable
Constant
我最初把上面的内容列为一个清单,然后我做了

List = ['Input', 'Output', 'Variable', 'Constant')
for entry in List.strip().split(','):
    nospace_list = entry.lstrip()
    print nospace_list
上面代码的输出就是我给出的,现在我想显示为

I O V C
n u a o
p t r n
u p i s
t u a t
  t b a
    l n
    e t

您似乎有兴趣为此编写自己的算法,因此这里有一种(效率要低得多)方法,无需使用
izip_longest()


这是通过在每个单词中填充空格到最长单词的长度,然后打印每个单词中的每个字母。

print“\n”。join(“.join(x)for x in izip_longest(*List,fillvalue=”“))
Hi这是一个垂直打印,一个在另一个下面,而不是彼此相邻…Hi抱歉之前的评论。这确实奏效了。。最初,我将字符串作为单独的列表,一旦我将它们作为单个列表,它就可以工作了
>>> words = ['Input', 'Output', 'Variable', 'Constant']
>>> longest = max(len(word) for word in words)
>>> for i in range(longest):
...     print ' '.join(word.ljust(longest)[i] for word in words)
... 
I O V C
n u a o
p t r n
u p i s
t u a t
  t b a
    l n
    e t