honkerDream 2022-03-10 16:15 采纳率: 0%
浏览 64

python语法问题

要修改一个列表lista = [1,2,4,4,10,6,7,5,20],用以下代码把其中偶数删除,但最终得到的结果是有部分偶数没有删除,为什么没有删除干净?
for i in lista:
  if i % 2 == 0:
    lista.remove(i)
请用python写一个方法,以最小的代价来把所有偶数都删除,并说明为什么这样写可以删除所有偶数?
如果要在原列表上进行操作,该如何实现这功能?

  • 写回答

5条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2022-03-10 16:27
    关注
    lis = []
    for i in lista:
      if i % 2 != 0:
        lis.append(i)
    print(lis)
    

    列表循环不能随便删除元素,你删除某个元素,下次循环索引就不对了,正确简单的写法就是我这样的。有帮助的话采纳一下哦!

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月10日

悬赏问题

  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥20 python忆阻器数字识别
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api