【问题标题】:Nonetype has no len()Nonetype 没有 len()
【发布时间】:2022-01-27 03:28:02
【问题描述】:

d=("adf": 1, "bdc":2,"cdsd":4)

deflongest_key (d):

最长的无

对于 d 中的键:如果不是最长或 len(键)> len(最长):

最长 = 键

返回最长

打印(最长密钥(d))。

当我这样做时,程序很好,没有发生错误,但是

d=("adf": 1, "bdc":2,"cdsd":4) deflongest_key (d):

最长 = 无

for key in d: if len (key) > len (longest):

最长的键

返回最长的打印(longest_key(d))。

当我这样做时,它显示类型为 Nonetype 的类型错误对象没有 len()

【问题讨论】:

  • 欢迎来到 SO。请重新格式化您的代码。 (我会尝试为您编辑,但编辑队列已满)另外请包括完整的错误回溯。
  • edit您的问题以改进其格式。

标签: python error-handling non-type


【解决方案1】:

您将 longest 设置为 None 并且您正在尝试获取它的长度。在第二个函数中,它会出错,因为您没有 if not longest 条件。第一个函数有效,因为短路评估意味着不会评估 len(longest)

【讨论】:

    猜你喜欢
    • 2019-04-24
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 2021-03-03
    • 2012-08-02
    • 2015-07-30
    相关资源
    最近更新 更多