如,本意是删除列表中的33元素,但是由于两个元素位置相近,在找到第一个33的时候,删除后,元素就自动向前补齐,此时i已经后移,所以在使用remove删除相邻元素的时候会:删除一个元素,漏掉一个元素:

下面用C++模拟:

#include<iostream>
using namespace std;
struct list{int a[7];int length;
};
int main(void){struct list l;l.a[0] = 11;l.a[1] = 22;l.a[2] = 33;l.a[3] = 33;l.a[4] = 44;l.a[5] = 55;l.a[6]=66;l.length = 7;for(int i=0;i<l.length;i++){if(l.a[i]==33){for(int j=i;j<l.length;j++){l.a[j] = l.a[j+1];}l.length -= 1;}}//printfor(int i=0;i<l.length;i++){cout<<l.a[i]<<endl;   //结果:11 22 33 44 55 66 }return 0;
}

在C++中,我们不会出这个问题,因为C++中不是python中的自动填充,需要我们自己处理接下来的元素,在C++中,应对这种情况可以采用在删除后i--,后退一个位置,再继续判断。

但是在Python中是自动填充,而且不是C++中的for循环中方便得到每个此时遍历元素的下标,所以这种方式在Python中是不太合适的。这里我们可以考虑再定义一个列表,用遍历一个列表,删除另一个列表(即:不操作正在遍历的列表)解决。

C++中的下标回退,这里给出部分截图:

python在for循环中不能删除正在循环的列表(问题已解决)相关推荐

  1. javaScript:双层for循环,如何在内层for循环中跳出外层for循环

    问题描述:如题,双层for循环,在内层for循环中跳出外层for循环. 解决方法:break语句可以带标签,例如break foo,可实现跳出标签为foo的循环.使用带标签的循环跳转和break,可实 ...

  2. Druid monitor中SQL监控显示不出数据(已解决)

    Druid monitor中SQL监控显示不出数据(已解决) 检查方法一: 查看Druid monitor中的数据源是否可访问 如下图则数据源可访问: 这时检查application.yaml中的配置 ...

  3. python分支语句_Python中分支语句与循环语句实例详解

    前言 本篇博文介绍一下Python中的if条件语句.while循环语句.for in循环语句以及break和continue控制关键字. 分支的基本语法 if 条件表达式: 语句1 语句2 语句3 . ...

  4. C#在循环中使用Random时生成的随机数相同的解决办法

    场景 在循环中使用 Random y = new Random(); 生成随机数时每次循环生成的数是一样的. for (int i = 1; i < 20000;i++ ){Random y = ...

  5. c基础部分:怎么在for循环中 对上一次循环的值和下一次循环的值作比较

    1.怎么对上一次循环中的某个值与下一次循环中的值进行比较?很简单,我们首先需要一个变量去接收上一次循环中你要比较的值 例如 求最小值 int a,b,c=1000,min; for(a=0;a< ...

  6. Python 使用PIL.Image保存jpg或jpeg格式图片出现色差问题[已解决]:

    Python 使用PIL.Image保存jpg或jpeg格式图片出现色差问题[已解决]: 最近使用Python处理图片遇到的一个问题,使用Image模块读取图片并处理,之后再存回去之后发现图片出现了色 ...

  7. win10 一直循环重启, 页面 “scanning and repairing (C): ”...(已解决!)

    win10 一直循环重启, 页面 "scanning and repairing (C): " ... (已解决!) 记录 解决 重点 原因 记录 烦~~~~今天电脑一直出现问题, ...

  8. List循环中指定删除元素(不止一个)

    public static void main(String[] args) {List<String> list=new ArrayList<>();list.add(&qu ...

  9. 循环语句中 break 和 continue 的使用,while for switch循环中如何跳出循环 中断循环

    一  break基本使用 1 :如图当 i 值为5时执行了break, 执行break了后循环语句直接停止,所以只打印出了1 2 3 4 2 :上图只演示了while,实际上不管是哪种循环,一旦在循环 ...

最新文章

  1. Visual Studio视觉编程工具(推荐四个)
  2. Qt学习一门:直接使用QT具
  3. flask(一)之路由和视图
  4. ubuntun_11.04安装
  5. java(8)——和、|和||、!、^及三目运算符
  6. 用计算机完成下表的视距测量计算公式,测量学计算题.doc
  7. 以太坊 node data write error_Node之 创建服务器与客户端
  8. 你知道吗?Python原来可以做这些
  9. 2017.10.14 【FOTILE模拟赛】L 失败总结
  10. 《Scikit-Learn与TensorFlow机器学习实用指南》第14章 循环神经网络
  11. LeetCode 6 - ZigZag Conversion
  12. uniapp 发布网站遇到的问题(跨域,nginx代理失败,index无法打开,手机端无法访问等)
  13. boost::unorder_map如何插入元素_「leetcode」701. 二叉搜索树中的插入操作:【递归法】【迭代法】详解...
  14. 元胞自动机(又称细胞自动机)
  15. 瞬时功率与有功功率计算公式
  16. 根据行数要求实现展开与隐藏TextView
  17. 各大科技公司核心价值观概览
  18. 易观分析:银行实现无感风控落地需提高主动感知风险能力
  19. 三维重建基本学习路线
  20. javaweb JAVA JSP论坛系统源码BBS在线论坛系统源码(电影论坛)

热门文章

  1. Spring中ApplicationContextAware的用法
  2. python3-字典中的一些常用方法
  3. hihocoder #1388 : Periodic Signal NTTFFT
  4. UG集成显卡 显示成烂面
  5. 快速构建Windows 8风格应用22-MessageDialog
  6. ResorceGovernor--基础和Demo
  7. 微信扫一扫背后的秘密:基于运动估计的智能传图算法
  8. 【数字图像处理】四.MFC对话框绘制灰度直方图
  9. OpenGL之控制渲染图形的移动
  10. ❤️时间管理大师!我是如何规划自己的时间的?充分利用每一分一秒!❤️