python 列表 越界怎么处理?list index out of range

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 列表 越界怎么处理?list index out of range相关的知识,希望对你有一定的参考价值。

从数据库取出来的值太长了,不能存进列表里。怎么处理?还有什么东西可以实现和list一样的功能并且可以存放大量的文本吗?

python中列表越界的话,可以把数据存放到数据库或本地文件中,然后分段读取访问。

不过,python中list最大元素个数是:32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。一般应用场景根本不用考虑这个大小,因为这个上限很高。

“list index out of range”表示数组越界了,比如列表a=[1,2,3]只有3个元素,但是你访问a[4],越界了,然后就会报这个错误。建议把列表具体内容打印出来,看看长度越界情况,修改下相应代码即可。

如果数据还是太多太长的话,最好把数据存到数据库(比如mongoDB)或者本地文件中(比如open/joblib写文件)。

扩展资料

对于有序序列: 字符串 str 、列表 list 、元组 tuple进行按索引取值的时候,默认范围为 0 ~ len(有序序列)-1,计数从0开始,而不是从1开始,最后一位索引则为总长度减去1。

当然也可以使用负数表示从倒数第几个,计数从-1开始,则对于有序序列,总体范围为 -len(有序序列) ~ len(有序序列)-1,如果输入的取值结果不在这个范围内,则报错 list index out of range 。

name = "beimenchuixue"

students = ["beimenchuixue", "boKeYuan", "Python", "Golang"]

print(name[3])

print(students[3])

参考资料:百度百科 Python (计算机程序设计语言)

百度百科 list (计算机专业术语)

参考技术A

python中列表越界的话,可以把数据存放到数据库或本地文件中,然后分段读取访问。不过,python中list最大元素个数是:32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。一般应用场景根本不用考虑这个大小,因为这个上限很高。

“list index out of range”表示数组越界了,比如列表a=[1,2,3]只有3个元素,但是你访问a[4],越界了,然后就会报这个错误。建议把列表具体内容打印出来,看看长度越界情况,修改下相应代码即可。

如果数据还是太多太长的话,最好把数据存到数据库(比如mongoDB)或者本地文件中(比如open/joblib写文件)。

扩展资料:

如果数据太多,可以通过写文件进行临时存储。joblib序列化写文件示例:

    a = [1, 2, 3]

    filename = 'a_list.txt'

    joblib.dump(a, filename)

参考资料:

python 语言官方教程

参考技术B 新建一个空列表再往里面逐个添加就可以了
list index out of range的意思不是列表存不下了,是对应列表的编号不存在而已
比如列表里只有两个元素,只有list[0]、list[1],list[2]就越界了追问

现在改了一下提示

UnboundLocalError at /tag_study/test_words/

local variable 'pre_ques' referenced before assignment

能帮看下是怎么回事吗QAQ    谢谢了TAT

追答

pre_ques这个变量名字还有在这个函数以外的地方出现么?

本回答被提问者和网友采纳
参考技术C

1、新建一个空列表,逐个添加就可以了;

2、list index out of range的意思是对应列表的编号不存在而已;

3、比如列表里只有两个元素,只有list[0]、list[1],list[2]就越界了。print  ss看看是不是有的列表长度没有到5,如果小于5,肯定会越界的

参考技术D 根据这个错误的描述说明了这个列表的索引也就是他的元素的个数是没有你所想要找的元素位置,比如这个列表只有十个元素你要找第11个元素这个肯定找不到

Python3基础 list(zip()) 将两个列表打包起来

 镇场诗:
    诚听如来语,顿舍世间名与利。愿做地藏徒,广演是经阎浮提。
    愿尽吾所学,成就一良心博客。愿诸后来人,重现智慧清净体。
——————————————————————————————————————————

code:

numbers=[1,2,3,4,5,6]
ind=[0,1,2,3]

print(numbers)
print(ind)
                #   前面的在前面    后面的在后面      以前面的数量为基
newNumbers=list(zip(ind,numbers))
print(newNumbers)

 


result:

============= RESTART: C:/Users/Administrator/Desktop/mytest4.py =============
[1, 2, 3, 4, 5, 6]
[0, 1, 2, 3]
[(0, 1), (1, 2), (2, 3), (3, 4)]
>>> 

 


——————————————————————————————————————————
博文的精髓,在技术部分,更在镇场一诗。Python版本3.5,系统 Windows7。
Python是优秀的语言,值得努力学习。我是跟着小甲鱼视频教程学习的,推荐。
我是一个新手,所以如果博文的内容有可以改进的地方,甚至有错误的地方,请留下评论,我一定努力改正,争取成就一个良心博客。
注:此文仅作为科研学习,如果我无意中侵犯了您的权益,请务必及时告知,我会做出改正。

以上是关于python 列表 越界怎么处理?list index out of range的主要内容,如果未能解决你的问题,请参考以下文章

Python3基础 list(zip()) 将两个列表打包起来

Python列表基础

python基础之列表list

python django 怎么把数据查询结果保存到一个list里面

如何使用 pybind 传递 numpy 数组列表

在 Python 列表理解中是不是可以访问项目索引?