如何不依赖外部库实现Python多字符串垂直打印?
实现字符串列表的垂直并排打印(无外部库依赖)
问题描述
我有一个字符串列表,希望将其垂直并排打印。现有实现代码如下:
from itertools import zip_longest x = ["Please","help","out"] string = '' for word in list_of_words: string += word + " " for x in zip_longest(*string.split(), fillvalue=' '): print (' '.join(x))
这段代码可以正常运行,但我希望在不导入任何外部库的情况下完成此功能。
输入:x = ["Please","help","out"]
期望输出:
P h o l e u e l t a p s e
解决方案
我们可以手动实现字符补位逻辑,无需依赖外部库:
- 先找出列表中最长单词的长度,确定需要打印的总行数;
- 逐行遍历每个单词的对应位置字符,单词长度不足时用空格填充;
- 将每行的字符用空格连接后打印(如需开头空格可直接拼接)。
最终代码
x = ["Please", "help", "out"] # 获取最长单词的长度,确定打印行数 max_len = max(len(word) for word in x) for i in range(max_len): line = [] for word in x: # 取第i个字符,不存在则用空格代替 line.append(word[i] if i < len(word) else ' ') # 开头添加四个空格,再拼接字符 print(' ' + ' '.join(line))
运行结果
执行代码后输出与期望完全一致:
P h o l e u e l t a p s e
内容的提问来源于stack exchange,提问作者Masani_Prime
相关产品推荐
相关产品推荐

