栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python:迭代弹出元素时列出索引超出范围错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python:迭代弹出元素时列出索引超出范围错误

您在

l
遍历列表时减少了列表的长度,因此当您接近range语句中索引的末尾时,其中一些索引不再有效。

看起来 像你想要做的是:

l = [x for x in l if x != 0]

它将返回

l
没有任何零元素的副本(顺便说一下,该操作称为列表理解)。您甚至可以将最后一部分缩短为正义
if x
,因为非零数字的计算结果为
True

i < len(l)
用编写代码的方式,没有像这样的循环终止条件,因为它
len(l)
是在循环之前 预先 计算的,不会在每次迭代时重新评估。您
可以 用以下方式编写它:

i = 0while i < len(l):   if l[i] == 0:       l.pop(i)   else:       i += 1


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637000.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号