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

如何将三个不同长度的数组输出为指定格式的表格?

解决方案

要实现你想要的表格格式输出,核心思路是按最长数组的长度循环,逐个位置提取三个数组的元素,不存在元素的位置留空并对齐。下面是Python的实现代码:

# 定义你的三个数组(修正了b数组的写法,原问题里应该是字符串元素)
a = [1, 2, 3]
b = ['a', 'b', 'c', 'd']
c = ["why", "cant", "i", "make", "this", "work"]

# 打印表头
print("a b c")

# 获取三个数组的最大长度,确定循环次数
max_length = max(len(a), len(b), len(c))

# 遍历每个位置,输出对应元素
for i in range(max_length):
    # 提取当前位置的元素,超出数组长度则用空字符串占位
    elem_a = str(a[i]) if i < len(a) else ""
    elem_b = b[i] if i < len(b) else ""
    elem_c = c[i] if i < len(c) else ""
    
    # 格式化输出,保证每列对齐(这里用4个字符宽度调整对齐效果)
    print(f"{elem_a:<4}{elem_b:<4}{elem_c}")

代码说明:

  • 表头打印:直接输出a b c作为表格标题行。
  • 最大长度获取:用max()函数拿到三个数组中最长的长度,确保所有元素都能被遍历到。
  • 元素提取:通过判断索引i是否小于数组长度,避免索引越界;没有元素的位置用空字符串代替。
  • 格式化对齐:使用f-string的<4格式符,让每个元素左对齐并占4个字符宽度,这样表格看起来更整齐(你可以根据需要调整宽度数值)。

输出效果:

运行代码后会得到和你预期一致的输出:

a b c
1   a   why
2   b   cant
3   c   i
    d   make
        this
        work

如果不需要严格的宽度对齐,也可以简化打印语句为print(f"{elem_a} {elem_b} {elem_c}".strip()),不过对齐后的格式会更接近你想要的表格样式。

内容的提问来源于stack exchange,提问作者Christopher Masopust

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:23:10