【问题标题】:Why this code don't regonize lista as a list? [closed]为什么此代码无法将 lista 识别为列表? [关闭]
【发布时间】:2021-11-09 01:53:14
【问题描述】:

所以我正在学习 python,我尝试编写代码来生成列表,但是当我尝试运行代码时出现错误,提示列表是函数类型,我不明白为什么这里是代码:

def criarlista():
  lista = []
  for x in range(10):
    lista[x] = int(secrets.randbelow(100000) + 1)
  return lista

lista = []
lista = criarlista
size = len(lista)

【问题讨论】:

  • 你没有调用这个函数。
  • 不是列表,是函数
  • 顺便说一句,当你开始修复你的 TypeError 时,你最终会得到一个 IndexError

标签: python list typeerror


【解决方案1】:

因为在该示例中,lista 被重新分配给 criarlista,这 criarlsita() 相同;后者是对函数的实际调用。相反,您需要这样做:lista = criarlista()

【讨论】:

  • 好的,现在又出现了另一个错误:“IndexError: list assignment index out of range”你能再帮忙吗,是相同的代码,唯一的改动是你的建议。
  • 使用 append 将项目添加到列表中
  • @Adriel 您分配给不存在的列表索引。将循环内部更改为:lista.append(int(secrets.randbelow(100000) + 1))
  • 好的,谢谢!!这有效,但无论如何都可以使用索引值?
  • 这些索引需要先初始化,然后才能对它们进行索引。 lista = [x for x in range(10)]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
相关资源
最近更新 更多