zoukankan      html  css  js  c++  java
  • 类型和运算二

    一、列表(list)

    1. 格式

      list[] 多个元素,每个元素中间用逗号隔开

    2. 定义

      2.1 可以将列表看成一个容器,容器存放的类型很多,任意的类型都可以存放到容器中

      li = [1,2,3,'123',True,[1,2,5]]
      书包 = [书,水杯,衣服,钱包] 
      				   [1,2,5]
      

      2.2 列表的本质其实是将可迭代的对象进行for循环所产生的东西

      li = list("abc")#底层使用了for循环  "abc" 可迭代的字符串类型
      print(li)
      结果:
      ['a', 'b', 'c']
      
    3. 作用

      存储大量数据

      特点:有序(按所写顺序输出);可变的(可以在本身进行修改)

    4. 列表的操作

      4.1 索引

      li = [1,2,3,"123",True]
          # 0 1 2   3    4
      print(li[1])
      结果:
      2
      

      4.2 切片

      li = [1,2,3,"123",True]
        #   0 1 2   3      4
        # -5 -4 -3  -2    -1
       print(li[1:3])
       结果:
       [2, 3]
      

      4.3 步长

      li = [1,2,3,"123",True]
      print(li[-1:-4:-1])
      结果:
      [True, '123', 3]
      

      4.4 相关操作

      方法 作用
      1、增
      li.append(“”) 追加 添加在末尾 添加的操作
      li.inster(索引,“内容”) 插入 第一个参数(索引),第二参数要插入的内容
      li.extend("abc") 迭代添加,相当于for循环
      2、删
      li.pop() 弹 pop有返回值 返回的是被删除的内容,也可通过索引指定删除
      li.remove(“元素”) 删除 按照元素名进行删除
      del li[::2] 删除,支持索引、切片、步长
      li.clear() 清空
      3、改
      索引 通过索引修改,新元素是迭代进去的,可以多可以少,可以指定空格
      切片 若正向取值,多余的插入元素会使后面的元素向后顺移
      若反向取值,由于计算机不能反向开辟空间,因此会产生插入位置不够的报错
      步长 你取几个,就放几个 不能多不能少
      4、查
      索引、切片、步长
      for循环 产生列表的每一个元素

      注意:用for 循环删除时不能直接删除,要先将要删除的元素放入新列表中,通过循环新列表删除,例:

      lst = ["渣渣辉", "古天绿", "陈小春", "彭佳慧", "郑中基", "胡辣汤"]
      # for el in lst: # for 内部有一个变量来记录当前被循环的位置, 索引.
      #     lst.remove(el) # 直接删除. 是删不干净的. 原因是每次删除都涉及到元素的移动. 索引在变.
      
      # 先把要删除的内容保存在一个新列表中. 循环这个新列表. 删除老列表
      new_lst = []
      for el in lst:
          new_lst.append(el)
      for el in new_lst:
          lst.remove(el)
      print(lst)
      

      4.5 列表的嵌套

      li = ["高圆圆","吴奇隆","汪峰",
            ["国际章","张曼兮","龙泽罗拉"],
            "陈冠希",
            ["张柏芝","阿娇",["熊哥",["一本道"],"亮哥",["北京热"],"怼哥",["动物园"],"奇奇",["大象"]],"大S",["小S"],"范冰冰"],
            "周星驰",["逃学威龙","功夫","大话西游"]]
      print(li[5][2][1])
      print(li[5][2][-1][0])
      结果:
      ['一本道']
      大象
      

    二、元组(tuple)

    1. 定义

      tuple tu("1","2") 每个元素以逗号隔开

      小括号中一个元素的时候没有逗号就括号中元素的本身

      tu("1")
      print(type(tu))
      结果:
      <class 'str'>
      

      小括号中一个元素的时候有个逗号就是元组

      tu("1",)
      print(type(tu))
      结果:
      <class 'tuple'>
      

      空的小括号就是元组

      tu()
      print(type(tu))
      结果:
      <class 'tuple'>
      
    2. 特点

      元组有序,可使用索引、切片、步长

      元组属于不可变数据类型

      元组只能查看不能修改 -- 元组和列表和相似,元组是不可修改的

    3. 作用

      存储一些不想让别人修改的数据

      元组也可当作容器,存储任意类型

      通常用于配置文件和程序中,为了防止误操作修改一些数据

    4. 常用操作

      索引
      切片 切片返回的是切之前的数据类型
      步长
    5. 元组的嵌套

      嵌套中查找内容的时候,以逗号分隔就是一个元素

      查找方法:

      降维 : 一层一层的找

    6. 元组与列表的区别

      列表是可变的:增删改查

      元组是不可变的:只能查

      列表使用频繁,元组不怎么实用

  • 相关阅读:
    心得体会,搞清楚你为什么学习C++?
    完整版本的推箱子小游戏,最简单的纯C语言打造
    联合体、枚举体初步了解及运用
    结构体的初步了解
    使用 Appium 测试微信小程序 Webview——打开调试功能
    Jmeter 使用ssh command 链接linux
    jmeter响应内容乱码问题
    Mac 更新 node版本
    解决jenkins + ant + jmeter发送邮件失败的问题:java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage
    bash特殊字符-2
  • 原文地址:https://www.cnblogs.com/yaoqi17/p/10986987.html
Copyright © 2011-2022 走看看