【问题标题】:List Index & NoneType Error列表索引和 NoneType 错误
【发布时间】:2023-04-05 02:09:02
【问题描述】:

我有一个类似于此的 python 列表结构;

seq = ['l', 'm', 'n', 'o', 'p', 'q', 'r', 's']

我增加一个指针,以便在我的代码中的某些事件之后,我可以访问我的列表的下一项(不干扰或提及列表),它被传递给一个函数以返回 a 和 b,如下所示;

pointer+=1 
a, b= get_instruction(seq[pointer])

我得到了错误;

 TypeError: 'NoneType' object is not iterable

这是为什么?变量指针在脚本开始时设置为 0,一旦我将其设置为 1,它似乎就中断了。指针在没有错误的情况下递增,并且可以看到递增。为什么它不会简单地返回与列表中指向的项目相关的a和b??

【问题讨论】:

  • 您的get_instruction 函数以某种方式返回None。执行 a, b = None 会引发您遇到的错误。能否请您发布get_instruction 功能?
  • 谢谢,是的,我错过了索引 1 的返回路径。愚蠢的错误,但感谢您的回复,我认为这与列表有关。如果你想回答我可以为你选择它

标签: python list data-structures nonetype


【解决方案1】:

我认为这意味着 get_instructions() 没有返回任何内容。它需要返回一个适当的变量。除非您向我们展示 get_instructions() 函数,否则我无法告诉您其他任何事情。我可以告诉你的是,这很可能是那个函数的问题

【讨论】:

    【解决方案2】:

    您正在尝试将 None 值解压缩为两个变量,而不是长度为 2 的迭代:

    a, b = get_instruction(seq[pointer]) # a, b = None
    

    由于某种原因,您的函数正在评估为无。您必须在函数的内容中更正此行为才能正确解包。请记住,您需要一个包含两个项目的可迭代对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-02
      • 1970-01-01
      • 2020-10-26
      • 2017-08-30
      • 1970-01-01
      • 2018-08-29
      • 2016-05-09
      • 2014-08-11
      相关资源
      最近更新 更多