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

时间:2014-07-10 00:34:29

标签: python line

我想垂直打印字符串。我不知道当它不是以列表的形式时它是怎么做的...我提到了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

1 个答案:

答案 0 :(得分:1)

你似乎有兴趣为此编写自己的算法,所以这是一种(效率低得多)的方法,而不使用izip_longest()

>>> 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

这是通过将每个单词用空格填充到最长单词的长度然后打印每个单词的每个字母来实现的。