📅  最后修改于: 2023-12-03 15:19:19.476000             🧑  作者: Mango
在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中垂直打印列表的方法,不仅可以在控制台中直接打印,还可以封装成类,方便多次使用,为程序员打印列表提供了方便。