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

技术问询:如何从字典列表逐个生成表格及无函数打印Tom记录

字典列表表格打印实现方案

需求说明

  • 需求1:将字典列表中的每个字典依次打印为格式化表格
  • 需求2:不使用函数,仅提取并打印列表中Tom的记录为表格

原代码问题分析

原代码存在以下关键问题:

  1. 字典列表fe定义末尾多了逗号,导致其变为元组类型而非列表
  2. 变量value被赋值为整数0,直接调用value["Name"]会触发类型错误,未正确获取列表中的字典元素
  3. 分隔线dashes的format方法传入参数数量与占位符不匹配(4个占位符对应5个参数)
  4. 未实现遍历所有元素的逻辑,也没有筛选Tom记录的判断条件

需求1:打印所有记录为表格

# 修正后的字典列表(移除多余逗号)
fe = [
    {"Name": "Tom", "age": 10, "group": "sdd", "points": 2},
    {"Name": "Mark", "age": 5, "group": "sdo", "points": 6},
    {"Name": "Pam", "age": 7, "group": "spp", "points": 4}
]

# 生成表头与分隔线(参数与占位符数量匹配)
dashes = "{:<20} + {:<8} + {:^14} + {:^11}\n".format("-"*20, "-"*8, "-"*14, "-"*11)
info = "{:<20} | {:<8} | {:^14} | {:^11}\n".format("Name", "age", "group", "points")
info += dashes

# 遍历所有字典,拼接表格内容
for person in fe:
    info += "{:<20} | {:<8} | {:^14} | {:^11}\n".format(person["Name"], person["age"], person["group"], person["points"])
    info += dashes

# 打印完整表格
print(info)

需求2:仅打印Tom的记录为表格(不使用函数)

fe = [
    {"Name": "Tom", "age": 10, "group": "sdd", "points": 2},
    {"Name": "Mark", "age": 5, "group": "sdo", "points": 6},
    {"Name": "Pam", "age": 7, "group": "spp", "points": 4}
]

# 生成表头与分隔线
dashes = "{:<20} + {:<8} + {:^14} + {:^11}\n".format("-"*20, "-"*8, "-"*14, "-"*11)
info = "{:<20} | {:<8} | {:^14} | {:^11}\n".format("Name", "age", "group", "points")
info += dashes

# 遍历筛选Tom的记录并拼接
for person in fe:
    if person["Name"] == "Tom":
        info += "{:<20} | {:<8} | {:^14} | {:^11}\n".format(person["Name"], person["age"], person["group"], person["points"])
        info += dashes
        break  # 找到目标后终止循环,提升效率

print(info)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:20:36