You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不依赖外部库实现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

解决方案

我们可以手动实现字符补位逻辑,无需依赖外部库:

  1. 先找出列表中最长单词的长度,确定需要打印的总行数;
  2. 逐行遍历每个单词的对应位置字符,单词长度不足时用空格填充;
  3. 将每行的字符用空格连接后打印(如需开头空格可直接拼接)。

最终代码

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 10:16:06