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

Common Lisp实现嵌套列表的对齐表格打印方案求助

实现嵌套列表转对齐表格的解决方案

核心思路

先计算每列的最大宽度,再基于这个宽度对每个元素做对齐格式化,就能实现规整的表格打印。

代码示例

假设你的嵌套列表是二维结构(每行对应表格的一行,每个子元素对应列内容):

# 示例嵌套列表数据
data = [
    ["姓名", "年龄", "所在城市"],
    ["张三", "25", "北京"],
    ["李四", "30", "上海市浦东新区"],
    ["王五", "28", "广州"]
]

# 计算每列的最大宽度(遍历每列所有元素,取最长长度)
col_widths = [max(len(str(item)) for item in column) for column in zip(*data)]

# 打印表头
print(" | ".join(f"{content:<{col_widths[i]}}" for i, content in enumerate(data[0])))
# 打印分隔线
print("-+-".join("-" * width for width in col_widths))
# 打印每一行内容
for row in data[1:]:
    print(" | ".join(f"{content:<{col_widths[i]}}" for i, content in enumerate(row)))

效果说明

  • 用<实现左对齐,换成>可以实现右对齐,按需调整
  • 不管元素长度差异多大,每列都会自动适配最长元素的宽度,保证对齐
  • 分隔线也会和列宽匹配,整体表格更美观

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 22:55:18