📜  Python|垂直打印列表(1)

📅  最后修改于: 2023-12-03 15:19:19.476000             🧑  作者: Mango

Python | 垂直打印列表

在Python中,我们可以使用循环结合字符串方法来垂直打印列表中的元素。

代码实现
def vertical_print(lst):
    """
    将列表中的元素垂直打印
    """
    max_len = max([len(str(x)) for x in lst])  # 找到列表中最长元素的长度
    for i in range(max_len):
        for j in lst:
            if len(str(j)) >= i + 1:  # 如果元素的长度大于等于当前行数加一
                print(str(j)[i], end='  ')  # 打印当前行的字符
            else:
                print('   ', end='')  # 如果该元素已经到末尾,则打印三个空格
        print()  # 换行
使用示例
lst = ['apple', 'banana', 'grape', 'orange', 'pear']
vertical_print(lst)

输出结果:

a  b  g  o  p  
p  a  r  r  e  
p  n  a  a  a  
l  a  p  n  r  
e  n  e  g  e  
   a      e     
扩展

我们可以将上述代码片段封装成一个类,方便多次使用。

class VerticalPrinter:
    def __init__(self, lst):
        self.lst = lst
        self.max_len = max([len(str(x)) for x in lst])
    
    def print(self):
        for i in range(self.max_len):
            for j in self.lst:
                if len(str(j)) >= i + 1:
                    print(str(j)[i], end='  ')
                else:
                    print('   ', end='')
            print()

使用方法与之前的函数相同。

lst = ['apple', 'banana', 'grape', 'orange', 'pear']
vp = VerticalPrinter(lst)
vp.print()
总结

本篇文章为大家介绍了Python中垂直打印列表的方法,不仅可以在控制台中直接打印,还可以封装成类,方便多次使用,为程序员打印列表提供了方便。