zoukankan      html  css  js  c++  java
  • 坑坑坑坑坑坑----列表

    死循环

    # lst = [1, 2]
    # for i in lst:
    #     lst.append(3)
    # print(lst)
    

    删除列表元素会遇到的坑

    # pop默认删除
    lst = [1, 2, 3, 4]
    for i in lst:
        lst.pop()
    print(lst)
    # 解释:
    # pop默认从后往前删除,元素被删除后,会自动补位
    # 走到一的时候删2,走到二的时候删3,所以会留下俩个
    # remove 也是同样的原理
    
    # 指定索引删除,从前往后删除
    lst = [1, 2, 3, 4]
    for i in lst:
        lst.pop(0)
    print(lst)
    
    # 按照索引位置删除,每删除一个元素,自动补位
    lst = [1, 2, 3, 4]
    for i in lst:
        lst.remove(i)
    print(lst)
    
    # 使用pop删除的时候删不干净,可以用如下方法
    lst = [1, 2, 3, 4, 5]
    for i in range(len(lst)):    # 根据列表长度进行循环删除
        lst.pop()
    print(lst)
    
    # 使用del删除,每次都删除最后一个元素
    # 方法一
    lst = [1, 2, 3, 4, 5]
    for i in range(len(lst)-1,-1,-1):
        del lst[i]
    print(lst)
    
    # 方法二
    lst = [1, 2, 3, 4, 5]
    for i in range(len(lst)):
        del lst[-1]
    print(lst)
    
    # 方法三,使用remove
    lst = [1, 2, 3, 4, 5, 6]
    lst1 = lst.copy()
    for i in lst1:
        lst.remove(i)
    print(lst)
    

    删除或者修改字典会遇到的坑

    # 删除字典元素
    dic = dict.fromkeys("12345",1)
    dic1 = dic.copy()
    for i in dic1:
        dic.pop(i)
    print(dic)
    
    # 修改字典键值对的值
    dic = dict.fromkeys("123456", 1)
    for i in dic:
        dic[i] = '123'     ## 字典在迭代的时候改变了原来的大小(不能加不能删)]
    print(dic)
    
  • 相关阅读:
    SQL学习
    FOR XML PATH
    IOS学习网址
    weak nonatomic strong等介绍(ios)
    UVALive3045 POJ2000 ZOJ2345 Gold Coins
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA10905 Children's Game
  • 原文地址:https://www.cnblogs.com/yangduoduo/p/11181647.html
Copyright © 2011-2022 走看看