You need to enable JavaScript to run this app. 如何打印Python字典使其条目以带引号的圆括号形式输出
优惠活动
大模型
产品
解决方案
定价
更多

如何打印Python字典使其条目以带引号的圆括号形式输出

代码调整实现
  • 核心调整字典值的存储方式
    原代码将作者、书名拼接为普通文本字符串存储,是输出没有格式包裹的根本原因。不需要手动拼接引号、括号,直接将两个字段组装为Python元组作为值存储即可——Python原生对元组的字符串表示,会自动按照“元素用单引号包裹、整体用圆括号包裹”的规则渲染,完全匹配目标输出要求。
    需要把原代码中的赋值逻辑从isbn_dic[isbn] = author + ", " + title,修改为isbn_dic[isbn] = (author, title)。
  • 优化字段拆分的健壮性
    原拆分逻辑遇到原文本中逗号后带空格的场景,会导致拆出的作者、书名携带多余首尾空格。可以把解包逻辑调整为对拆分后的每个字段做去空格处理:author, title, isbn = [field.strip() for field in line.strip().split(',')],避免输出出现多余空白字符。
  • 调整输出为逐行打印模式
    原代码直接print(isbn_dic)会把所有字典条目压缩在一行输出,和目标逐行展示的效果不符。需要在字典构建完成后,遍历键值对逐行输出:
    for isbn, value in isbn_dic.items():
        print(f"{isbn}: {value}")
    
    因为值是元组,直接嵌入字符串渲染就会自动生成要求的格式效果。

注意:不推荐手动拼接带引号、括号的字符串实现效果,一旦作者名或书名本身包含单引号,会直接打乱输出格式。使用元组的原生渲染机制是最稳定的实现方式。

调整后的完整参考代码

def isbn_dictionary(filename):
    isbn_dic = {}
    # 用上下文管理器打开文件,避免文件句柄泄漏
    with open(filename, "r", encoding="utf-8") as f:
        for line in f:
            if not line.strip():
                continue
            # 拆分字段并逐字段去除首尾空格
            author, title, isbn = [field.strip() for field in line.strip().split(',')]
            # 存储为元组而非拼接字符串
            isbn_dic[isbn] = (author, title)
    # 逐行输出匹配格式
    for isbn, value in isbn_dic.items():
        print(f"{isbn}: {value}")
    return isbn_dic

效果验证

当字典存储了对应条目时,逐行输出的结果完全匹配预期:

I1: ('A1', 'T1')
I2: ('A2', 'T2')
I3: ('A3', 'T3')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 13:54:02