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

如何用Python将追加的物品-数量列表输出为表格格式?

解决物品与数量同行表格化展示的问题

你的核心问题是everything列表按「物品名称-数量」的顺序依次存储元素,遍历打印时会逐个换行。要实现同行展示,关键是把列表中的元素两两分组,再格式化输出对齐。

方法一:按步长遍历列表

直接通过索引步长为2的循环,每次取出一组名称和数量:

# 假设这是你生成报告的代码块
print("库存报告")
# 从索引0开始,每次跳2个元素,遍历所有物品名称的位置
for i in range(0, len(everything), 2):
    # 确保不会因为列表长度为奇数导致索引越界
    if i + 1 >= len(everything):
        print(f"{everything[i]:<10} 无对应数量")
        continue
    item = everything[i]
    qty = everything[i+1]
    # 用格式化字符串做对齐:物品名左对齐占10位,数量紧跟其后
    print(f"{item:<10} {qty}")

方法二:拆分列表后配对

把列表拆成「物品名列表」和「数量列表」,再用zip配对输出:

print("库存报告")
# 切片拆分:偶数索引是物品名,奇数索引是数量
items = everything[::2]
quantities = everything[1::2]

# 配对每组名称和数量
for item, qty in zip(items, quantities):
    print(f"{item:<10} {qty}")

# 如果担心列表长度不一致(比如漏加了数量),可以用zip_longest补全
from itertools import zip_longest
for item, qty in zip_longest(items, quantities, fillvalue="缺失"):
    print(f"{item:<10} {qty}")

两种方法都能实现你要的效果,比如输入["Jam",40,"Sprite",30],输出会是:

Jam        40
Sprite     30

其中:<10是格式化语法,让物品名左对齐并占据10个字符宽度,这样不同长度的名称后面的数量能整齐对齐,看起来更像表格。

内容的提问来源于stack exchange,提问作者Tyler E-A

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:35:19