zoukankan      html  css  js  c++  java
  • 对列表遍历同时增删操作时注意事项 c

    不要对同一列表进行'增删'操作,会导致数据不准确;

    例子:

    list1 = [1, 2, 2, 3, 4, 5]
    for i in list1:
    if i == 2: # 判断为2,然后进行操作
    list1.remove(i)
    print(list1) # [1, 2, 3, 4, 5]
    #结果并没有将所有的2都移除, 当判断到第一个2的时候,后面的数字会自动插入到被删除的位置,
    #而程序继续运行到下一个索引的时候,同样为2的数字插入到了前一个位置,导致了数据的不准确

    避免出现错误写法: 将要操作的数据标记,append到另一个列表中,然后用元列表与标记列表进行数据的增删
    list1 = [1, 2, 2, 3, 4, 5]
    flag_list = []
    for i in list1:
    if i == 2: # 判断为2,然后进行操作
    flag_list.append(i)
    for temp in flag_list:
      list1.remove(temp)
    print(list1)
  • 相关阅读:
    对bootstrap不同版本的总结
    对于前后端分离的理解
    css3笔记
    Dom
    js菜单
    css兼容问题 ie6,7
    html知识
    前端基础知识
    前端要注意的代码规范
    bootstrap常见类的总结
  • 原文地址:https://www.cnblogs.com/yuanzhengchi/p/8478581.html
Copyright © 2011-2022 走看看