首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从列表中删除不需要的数字?

如何从列表中删除不需要的数字?
EN

Stack Overflow用户
提问于 2018-11-02 01:17:41
回答 1查看 65关注 0票数 0

我编写了下面的代码来从列表中删除大于5的数字。但它不能工作,尽管代码在我看来很好。我是python的新手,正在努力掌握我的基础知识。我决定使用remove,因为我是根据值进行检查的

代码语言:javascript
复制
a = [1,5,4,6,3,8,9,5,9] 
for i in a:
    print (i)
    if i<=5:
        continue
    a.remove(i)
print (a)

结果- [1, 5, 4, 3, 5, 9]

EN

回答 1

Stack Overflow用户

发布于 2018-11-02 01:19:59

它不会起作用,因为你正在从列表中删除项目,同时迭代相同的one....so。当你删除一个元素时,下一次迭代你将跳过一个元素。

解决方案: 1)使用2数组;2)使用while循环,当您删除一个元素时,您会减少数组的len,并且不会增加迭代次数

代码语言:javascript
复制
a = [1,5,4,6,3,8,9,5,9]
i=0
l=len(a)
while i<l:
    if a[i]>5:
        a.pop(i)
        l-=1
    else:
        i+=1
print (a)

结果:

代码语言:javascript
复制
[1, 5, 4, 3, 5]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53106182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档