为什么这段Python代码不将lista识别为列表类型
问题原因
- 直接触发函数类型报错的核心问题是未正确执行函数调用:代码中
lista = criarlista是把函数对象本身赋值给了lista变量,而非获取函数运行后返回的列表。调用函数必须在函数名后添加括号,将该行修改为lista = criarlista()即可解决类型报错。 - 代码还存在隐藏的索引越界问题:函数内部初始化了空列表
lista = []后,直接通过lista[x]对指定索引位置赋值,空列表不存在对应索引,运行时会触发越界报错,需要改用append()方法向列表末尾追加元素。
修正后完整代码
import secrets def criarlista(): lista = [] for x in range(10): lista.append(int(secrets.randbelow(100000) + 1)) return lista lista = criarlista() size = len(lista)
内容的提问来源于stack exchange,提问作者Adriel
相关产品推荐
相关产品推荐

