栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

根据python索引,快速从python列表中删除对应值

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

根据python索引,快速从python列表中删除对应值

  在已知索引的情况下,如何快速删除列表中索引对应的值,如果直接删除会引起错误,如下:

a = [0,1,2,3,4,5,6,7,8,9]
index = [4,3,6]
for i in index:
       del a[i]
print(a)

原本想删除列表a中的4,3,6三个数,结果删除列表a中的3,4,8三个数,原因在于每次删除一个数,列表a已经发生改变,每个值对应的索引也发生了改变。

为了删除预期值,可以每次删除索引中的最大值,如下:

 a = [0,1,2,3,4,5,6,7,8,9]
 b = [4,3,6]
 for i in sorted(b)[::-1]:
        del a[i]
 print(a)

通过sorted()函数对索引进行倒排序,这样每次都是获取最大索引值,每次删除最大索引对应值,这样对索引值较小对应值不产生影响,能达到预期的结果。

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

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

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