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

打印字典键时意外输出None,如何排除该无效输出?

问题原因与解决方案

核心问题

你输出里的None根本不是字典里的键,而是因为你调用printMajors()函数时,错误地用print()包裹了它。

你的printMajors()函数没有定义返回值,Python里无返回值的函数默认返回None。如果你的调用代码是:

print(printMajors())

那么函数内部的print(key)会先打印所有专业,然后外层的print()会把函数返回的None也打印出来,就出现了你看到的最后一行None。

解决步骤

  1. 直接调用函数,不要用print()包裹:

    printMajors()
    

    这样只会执行函数内部的打印逻辑,不会额外输出None。

  2. 如果需要函数返回专业列表再自行打印,可以修改函数:

    def printMajors():
        # 返回所有专业拼接成的字符串
        return '\n'.join(majors.keys())
    
    # 此时用print包裹是合理的
    print(printMajors())
    

为什么之前的操作没用

你之前删除值为None的键、判断key is not None都是无效的——因为你的majors字典里从一开始就没有None键,那行None和字典本身完全无关。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 20:40:10