• python list和tuple


      list列表简介:列表是python的基础数据类型之⼀ ,其他编程语⾔也有类似的数据类型. 比如JS中的数
    , java中的数组等等. 它是以[ ]括起来, 每个元素⽤' , '隔开⽽且可以存放各种数据类型:。

    lst = [1, 'GG', "MM", [1,666,0,"嘻嘻"]

      tuple元组简介:俗称不可变的列表.⼜被成为只读列表, 元组也是python的基本数据类型之⼀, ⽤⼩括
    号括起来, ⾥⾯可以放任何数据类型的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能改.

    tu = ("x=1","y=2")

    一、列表的索引的切片

      列表的索引和切片与字符串的索引切片一样:list[索引号 ]

    lst = ["麻花藤", "王剑林", "⻢芸", "周鸿医", "向华强"]
    print(lst[0]) # 获取第⼀个元素

      列表的切片

    lst = ["华仔", '赫本', '赵四', "孙艺珍", '车太贤']
    print(lst[3][1]) # 索引拿到的是元素
    print(lst[-3])

    二、列表的增

      1、list.append("元素")  表示在列表后面新增一个元素,添加到末尾------------------追加

    lst = ["西红柿首富","无双", "", "超能泰坦"]
    lst.append("楚留香传奇") # 可变的数据类型 没有返回值
    print(lst)#['西红柿首富', '无双', '影', '超能泰坦', '楚留香传奇']

      2、list.insert(索引号,”元素“) 表示在索引号的位置插入一个元素------------------插入

    lst = ["西红柿首富","无双", "", "超能泰坦"]
    lst.insert(1, "建国大业") # 插入, 效率不高. 索引的变更
    print(lst)#['西红柿首富', '建国大业', '无双', '影', '超能泰坦']

      3、list.extend("可迭代对象")  表示在在末尾一一添加可迭代对象的每一个元素------------------迭代添加

    lst = ["西红柿首富","无双", "", "超能泰坦"]
    lst.extend("周杰伦")
    print(lst) #['西红柿首富', '无双', '影', '超能泰坦', '周', '杰', '伦']
    lst.extend(["倚天屠龙记", "乡村爱情"])
    print(lst) #['西红柿首富', '无双', '影', '超能泰坦', '周', '杰', '伦', '倚天屠龙记', '乡村爱情']

    二、列表的删除

      1、list.pop() 表示弹出一个元素,不添加索引,默认表示弹出最后一个,返回需要删除的元素

    lst=[1,2,3,4,5]
    lst.pop()#弹出最后一个元素
    print(lst) #[1, 2, 3, 4]

      2、list.pop(索引号) 表示根据索引号弹出元素,返回需要删除的元素

    lst=[1,2,3,4,5]
    lst.pop(2) #弹出索引号为2的元素
    print(lst) #[1, 2, 4, 5]

      3、list.remove("元素") 表示指定元素删除

    lst=["张三丰","张翠山","张无忌","赵敏"]
    lst.remove("赵敏")
    print(lst) #['张三丰', '张翠山', '张无忌']

      4、del lst[索引]  按照索引删除元素

    lst = ["杰森斯坦森", "勒布朗詹姆斯", "尼古拉斯凯奇", "郭达森"]
    del lst[2] # 类似pop
    print(lst) #['杰森斯坦森', '勒布朗詹姆斯', '郭达森']

         del lst[start:end ] 切片式删除

    lst = ["杰森斯坦森", "勒布朗詹姆斯", "尼古拉斯凯奇", "郭达森"]
    del lst[2:] # 批量删除 ['杰森斯坦森', '勒布朗詹姆斯']

          del lst[strat:end:step] 间隔切片删除

    lst = ["杰森斯坦森", "勒布朗詹姆斯", "尼古拉斯凯奇", "郭达森"]
    del lst[1:5:2] # 切片删除
    print(lst) #['杰森斯坦森', '尼古拉斯凯奇']

      5、lst.clear() 表示清空列表

    lst = ["杰森斯坦森", "勒布朗詹姆斯", "尼古拉斯凯奇", "郭达森"]
    lst.clear() # 清空列表
    print(lst) #[]

    三、列表的修改

      list[索引]=new_value 表示修改制定索引位置的值

    lst = ["太⽩", "太⿊", "五⾊", "银王", "⽇天"]
    lst[1] = "太污" # 把1号元素修改成太污
    print(lst)#['周杰伦', '周星星', '周星驰', '周润发']
    lst[1:5:3] = ["麻花藤", "哇靠"] # 切⽚修改也OK. 如果步⻓不是1, 要注意. 元素的个数
    print(lst) #['太⽩', '麻花藤', '五⾊', '银王', '哇靠'] lst[1]='麻花藤',lst[4]="哇靠"
    lst[1:4] = ["李嘉诚个⻳⼉⼦"] # 如果切⽚没有步⻓或者步⻓是1. 则不⽤关⼼个数
    print(lst)#['太⽩', '李嘉诚个⻳⼉⼦', '哇靠']

    四、查询

      for el in list;

        print(el)

    lst = ["胡辣汤", "猪脚饭", "吱吱冒油的猪蹄子", "猪头肉"]
    for food in lst: # 列表可以使用for循环。 list是一个可迭代对象
        print(food) #food表示列表中的每一项

    五、列表的补充知识--排序

      1、list.sort( )  表示升序排序  

      2、lst.reverse( ) #列表反过来 

    lst=[77,88,55,66,99,33,11,22,44]
    lst.sort() #升序排序
    print(lst) #[11, 22, 33, 44, 55, 66, 77, 88, 99]
    lst.reverse() #反转
    print(lst) #[99, 88, 77, 66, 55, 44, 33, 22, 11]

      2、list.sort(reverse=True) #倒序。从大到小

    lst=[77,88,55,66,99,33,11,22,44]
    lst.sort(reverse=True) #降序排序
    print(lst) #[99, 88, 77, 66, 55, 44, 33, 22, 11]

    六、列表的嵌套

      一层一层降维就可以找到需要的元素。

    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)

     七、元祖

      1、元素索引和列表一样

    tu = (1, "太⽩", "李⽩", "太⿊", "怎么⿊")print(tu[0])
    print(tu[2])
    print(tu[2:5]) # 切⽚之后还是元组

      2、可以遍历

    tu = (1, "太⽩", "李⽩", "太⿊", "怎么⿊")
    for el in tu:
        print(el)

      注意:关于元组不可变的解说,元组不可变的意思是子元素不可变,而子元素内部的子元素是可以变的,这是取决于子元素是否可变。

    七、range、join,split

      1、range可以帮我们获取到⼀组数据. 通过for循环能够获取到这些数据 

    for num in range(10):
    print(num)
    for num in range(1, 10, 2):
    print(num)
    for num in range(10, 1, -2): # 反着来, 和切⽚⼀样
    print(num)

       2、join  把列表拼接为字符串

    li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"]
    s = "_".join(li) #李嘉诚_麻花藤_⻩海峰_刘嘉玲
    print(s)
    li = "⻩花⼤闺⼥"
    s = "_".join(li)
    print(s)#⻩_花_⼤_闺_⼥

      3、split 把字符串切割返回字典

    str="name:json:age:18"
    lst=str.split(":")
    print(lst)#['name', 'json', 'age', '18']

  • 相关阅读:
    IIS状态监测(如果状态错误则重启IIS)
    解决Android8.0之后开启service时报错IllegalStateException: Not allowed to start service Intent ...
    AndroidStudio 代码(导入类)报错但可正常运行,以及解决此问题后带来的系列问题解决
    No service of type Factory<LoggingManagerInternal> available in ProjectScopeService
    Android集成Google地图详细步骤记录
    Android应用图标微技巧,8.0系统中应用图标的适配
    recyclerView插入(add)和删除(remove)item后,item错乱,重复,覆盖在原recyclerView上
    Gradle依赖的统一管理,解决依赖冲突
    在博客添加网页背景动画效果,跟随鼠标移动的线条
    greendao引起的NoClassDefFoundError异常解决
  • 原文地址:https://www.cnblogs.com/angle6-liu/p/9984345.html
Copyright © 2020-2023  润新知