zoukankan      html  css  js  c++  java
  • 列表的增删改查,嵌套等,及元组的查

    一丶列表

      1.什么是列表

        列表是一个可变的数据类型

        列表由[]表示每一项元素,使用逗号隔开,列表什么都能装,能装对象的对象.

        列表可以装大量的数据

    lst = ["赵四","ABC",123,["哈哈","吼吼"],("","","","")]

       2.列表的索引和切片

        列表和字符串一样,也有索引和切片,只不过切出来的内容是列表

    lst = ["赵四","尼古拉斯","马云","王健林"]
    
    print(lst[1])
    print(lst[2])
    print(lst[3])

        索引的下标从零开始

    lst = ["赵四","尼古拉斯","马云","王健林"]
    print(lst[0:2])    #['赵四', '尼古拉斯']
    print(lst[:3])     #['赵四', '尼古拉斯', '马云']

        [起始位置:结束位置:步长]

    二丶列表的增删改查

      1.增

        注意,list和str是不一样的,lst可以发生改变,所以直接就在原来的对象上进行了操作

    #
    lst = ["赵四","尼古拉斯","马云","王健林"]
    lst.append("刘能") #['赵四', '尼古拉斯', '马云', '王健林', '刘能']
    print(lst)
    lst.insert(2,"谢文东") #['赵四', '尼古拉斯', '谢文东', '马云', '王健林', '刘能']
    print(lst)
    lst.extend(["奥特曼",123,"花园宝宝"])#['赵四', '尼古拉斯', '谢文东', '马云', '王健林', '刘能', '奥特曼', 123, '花园宝宝']
    print(lst)
    View Code

      2.删

    #
    lst = ["赵四","尼古拉斯","马云","王健林"]
    data = lst.pop(3)  #返回被删除的数据
    print(data)         #王健林
    print(lst)          #['赵四', '尼古拉斯', '马云']
    lst.remove("马云")   #删除元素,不存在会报错
    print(lst)          #['赵四', '尼古拉斯']
    del lst[1:3]   #切片删除
    print(lst)      #['赵四']
    lst.clear()  #清除所有
    print(lst)      #[]
    View Code

      3.改

    #
    
    lst = ["王者荣耀","穿越火线","绝地求生","DNF","怪物猎人世界"]
    lst[0] = "扫雷"
    print(lst)      #['扫雷', '穿越火线', '绝地求生', 'DNF', '怪物猎人世界']
    lst[3] = "吃鸡"
    print(lst)      #['扫雷', '穿越火线', '绝地求生', '吃鸡', '怪物猎人世界']
    lst[1:3] = ["跑跑卡丁车"]  #先删除,后添加
    print(lst)      #['扫雷', '跑跑卡丁车', '吃鸡', '怪物猎人世界']
    lst[1::2] = ["QQ斗地主","QQ飞车"]  #切片修改的时候,如果步长不是1,注意元素个数
    print(lst)      #['扫雷', 'QQ斗地主', '吃鸡', 'QQ飞车']
    View Code

      4.查

        列表是一个可迭代对象

    lst = ["王者荣耀","穿越火线","绝地求生","DNF","怪物猎人世界"]
    for el in lst:
        print(el)

      5.其它操作

        sort()排序 默认升序

        sort(reverse=True) 降序

        reverse()  翻转

        len()  求长度

    lst = ["","","","一个","","","城市"]
    # c = lst.count("海")  #查询"海"出现的次数
    # print(c)
    
    lst = [77,3,52,6,11,7,88]
    print(lst)
    lst.reverse()  #倒序  [88, 7, 11, 6, 52, 3, 77]
    print(lst)
    lst.sort()   #升序排列,默认为升序
    print(lst)  #[3, 6, 7, 11, 52, 77, 88]
    lst.sort(reverse=True)   #降序排列
    print(lst)      #[88, 77, 52, 11, 7, 6, 3]
    View Code

    三丶列表的嵌套

      采用降维操作,一层一层的看

    lst = [1, "太⽩", "wusir", ["⻢⻁疼", ["可⼝可乐"], "王剑林"]]
    #找到wusir
    print(lst[2])
    #找到太白和wusir
    print(lst[1:3])
    #找到白
    print(lst[1][1])
    # 将wusir拿到. 然后⾸字⺟⼤写. 再扔回去
    s = lst[2]
    s = s.capitalize()
    lst[2] = s
    print(lst)
    # 简写
    lst[2] = lst[2].capitalize()
    print(lst)
    # 把太⽩换成太⿊
    lst[1] = lst[1].replace("", "")
    print(lst)
    # 把⻢⻁疼换成⻢化疼
    lst[3][0] = lst[3][0].replace("", "")
    print(lst[3][0])
    lst[3][1].append("雪碧")
    print(lst)
    View Code

    四丶元组

      元组

        只读列表,只能看啥也不能干

        使用()表示元组

        如果元组中只有一个元素  (元素,)

        空元组 tuple()

        元组是一个可迭代对象,可以使用for 循环

    tu = (1,"李白","杜甫","白居易","王维")
    print(tu)
    
    print(tu[0])
    print(tu[2])
    print(tu[3])  #元组切片之后还是元组
    
    # for循环遍历元组
    for el in tu:
        print(el)

    五丶range

      range(n) 从0到n-1

      range(m,n)  从m 到n-1

      range(m,n,q)  从m到n-1 每q个取一个

     

      使用range和for循环来获取列表中的索引

        for i in range(len(列表)):

          i 索引

          列表[i]元素

  • 相关阅读:
    POJ 1330 Nearest Common Ancestors (LCA,dfs+ST在线算法)
    BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊 (动态树LCT)
    HDU 4010 Query on The Trees (动态树)
    SPOJ 375. Query on a tree (动态树)
    BZOJ 2049: [Sdoi2008]Cave 洞穴勘测 (动态树入门)
    HDU 3726 Graph and Queries (离线处理+splay tree)
    POJ 3580 SuperMemo (splay tree)
    Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
    mysql如何在一张表中插入一万条数据?(用存储过程解决)
    Gradle Build速度加快方法汇总
  • 原文地址:https://www.cnblogs.com/qicun/p/9396479.html
Copyright © 2011-2022 走看看