为啥此代码无法将 lista 识别为列表? [关闭]
Posted
技术标签:
【中文标题】为啥此代码无法将 lista 识别为列表? [关闭]【英文标题】: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
。
【参考方案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)]
以上是关于为啥此代码无法将 lista 识别为列表? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Pandas 错误:__setitem__() 无法将字典值识别为列名列表
为啥我会收到此错误:当我使用 tailwindcss 时,'postcss' 不被识别为内部或外部命令、可运行程序或批处理文件