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

Python中如何将列表数据按垂直列格式打印为表格?

垂直直方图打印解决方案

错误原因

你构造DataFrame时将完整列表作为单个值传入单元格,导致所有星号被压缩到同一行,无法按垂直方向展示。

实现步骤

  1. 计算4个分类的最大计数,作为直方图的总行数
  2. 将所有星号列表补全至总行数长度,不足的位置填充空字符串
  3. 直接用补全后的列表构造DataFrame,不要额外嵌套列表
  4. 用tabulate打印即可得到目标效果

可运行代码示例

import pandas as pd
from tabulate import tabulate

# 示例数据可替换为你自己的计数变量
progress_number = 1
trailer_number = 1
retriever_number = 2
excluded_number = 1

# 生成各分类的星号列表
progress_list = ["*"] * progress_number
trailer_list = ["*"] * trailer_number
retriever_list = ["*"] * retriever_number
exclude_list = ["*"] * excluded_number

# 计算最大行数
max_rows = max(len(progress_list), len(trailer_list), len(retriever_list), len(exclude_list))

# 补全所有列表到相同长度,短列表补空字符串
def pad_list(lst, target_length):
    return lst + [""] * (target_length - len(lst))

progress_list = pad_list(progress_list, max_rows)
trailer_list = pad_list(trailer_list, max_rows)
retriever_list = pad_list(retriever_list, max_rows)
exclude_list = pad_list(exclude_list, max_rows)

# 构造DataFrame,直接传入补全后的列表,不要嵌套[]
df = pd.DataFrame({
    'Progress': progress_list,
    'Trailer': trailer_list,
    'Retriever': retriever_list,
    'Excluded': exclude_list
})

# 打印结果
print(tabulate(df, headers='keys', tablefmt='plain', showindex=False))

输出效果示例

Progress    Trailer    Retriever    Excluded
*           *          *            *
                       *

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:36:01