zoukankan      html  css  js  c++  java
  • day7 set集合

    一、
    循环删除表中的每⼀个元素
    li = [11, 22, 33, 44]
    for e in li:
    li.remove(e)
    print(li)
    结果:
    [22, 44]
    分析原:
    for的运⾏过. 会有⼀个指来记录当前循环元素是哪⼀个, ⼀开始这个指指向0
    . 然后获取到0元素. 接着删除0. 这个时候. 来是⼀个的元素会⾃的变成
    0. 然后指向后移动⼀次, 指向1元素. 这时来的1变成了0, 也就不会被删除了.
    pop删除试试:
    li = [11, 22, 33, 44]
    for i in range(0, len(li)):
    del li[i]
    print(li)
    结果: 报错
    # i= 0, 1, 2 删除的时候li[0] 被删除之后. 后⾯⼀个就变成了第0.
    #
    以此类推. i = 2的时候. list中只有⼀个元素. 但是这个时候删除的是第2个 肯定报错啊
    分析发. 循环删除都不⾏. 不论是⽤del是⽤remove. 都不能. 那么pop?
    for el in li:
    li.pop()
    # pop
    也不⾏
    print(li)
    结果:
    [11, 22]
    只有这样是可以的:
    for i in range(0, len(li)): # 循环len(li), 然后从后往前删除
    li.pop()
    print(li)
    或者. ⼀个表来记你要删除的内容. 然后循环删除
    li = [11, 22, 33, 44]
    del_li = []
    for e in li:
    del_li.append(e)
    for e in del_li:
    li.remove(e)
    print(li)
    注意: 于删除元素导致元素的索改变, 所以容出现问题. 量不要再循环中直接去删
    元素. 可以把要删除的元素添加到⼀个集合中然后再批量删除

     

  • 相关阅读:
    发送短信/邮件/打电话 code(转)
    如何学习算法
    堆和栈的区别
    2010 baidu笔试
    关于TableView中图片的延时加载(转)
    sqlite + UITableView 实现iPhone大数据浏览
    2010 Google中国笔试试题
    海量数据处理方法总结(转)
    IPhone WebApp 设计开发工具与资源(转)
    DynamicDataSet
  • 原文地址:https://www.cnblogs.com/zhaosijia/p/9152762.html
Copyright © 2011-2022 走看看