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

Python如何实现元组列表打印为带首行表头的两列格式

解决方案

问题分析

现有代码的核心问题:

  1. 第一段代码的表头未和内容使用统一的对齐规则,上下显示错位
  2. 第二段代码在循环内重复打印表头,且zip(portfolio)操作会将原本的二元组额外套一层元组,输出格式完全混乱

修正后的完整可运行代码

def initialize_portfolio():
    portfolio = []
    with open('holdings.txt', 'r', encoding='utf-8') as file:
        for line in file:
            line = line.strip()
            # 跳过文件中的空行避免报错
            if not line:
                continue
            symbol, amt = line.split()
            # 金额转成整数方便后续处理,不需要转类型可以直接存字符串
            portfolio.append((symbol, int(amt)))
    return portfolio

def print_portfolio(portfolio):
    # 表头和内容统一使用左对齐、10字符宽度规则,可根据实际内容长度调整宽度
    print(f'{"Symbol":<10} {"Amount":<10}')
    # 可选添加分隔线,和预期示例效果更贴合
    print('-' * 20)
    for symbol, amt in portfolio:
        print(f'{symbol:<10} {amt:<10}')

# 调用示例
if __name__ == '__main__':
    port = initialize_portfolio()
    print_portfolio(port)

自定义调整说明

  • 如果要让数字更符合阅读习惯右对齐,只需要把{amt:<10}修改为{amt:>10}
  • 如果实际内容长度更长,把所有的10改成更大的数值即可适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:00:01