列表推导式,元组,字典,集合

知识点回顾

  • 定义:列表是可修改的,元素以逗号分割的,以中括号包围的有序序列

  • 使用:lst = [1,2,3]

  • 索引从0开始,索引可以为负,索引-1对应最后一个元素

  • 根据索引取值:列表[索引值]

  • 列表相加,列表重复,列表切片,多个变量接受列表中的值

    • 切片:列表[开始索引:结束索引:步长]
      • 开始索引不写,默认从开头
      • 结束不写,默认到尾部
      • 步长不写,默认是1,如果步长为负,则是倒着取
      • 区间是左闭右开
      • 超出索引外的切片不会报错,而是空列表
  • 列表特有方法

    • 增加
      • append,insert,extend
    • 删除
      • pop,remove,clear,del
    • 修改
      • 列表[index]=值,reverse,sort,sorted,
    • 查找
      • count,index,len()
  • 深浅拷贝

    • 浅拷贝:对于第一层创建的是新的内存地址,第二层开始,指向的都是同一个内存地址
    • 深拷贝:嵌套的可变类型重新开辟一片内存空间

推导式

  • 列表推导式,集合推导式,字典推导式
  • 列表推导式:是利用其它列表创建新列表的一种方式
    • 格式
      • 变量=[表达式 for 变量 in 列表]
      • 变量=[表达式 for 变量 in 列表 if 条件]

元组

  • 元组是一个不可修改的,元素以逗号分隔的以小括号包围的有序序列

    • 有逗号才是元组
  • 格式:变量名=(元素1,元素2....)

  • 访问元组:和访问列表一样,可以使用索引、切片、for循环来获取元素

  • 元组的合并和重复:合并:+ ,重复:*

  • 访问多维元组:元组中还有元组,访问方式和列表一样

    tup1 = (("钟冠冠",23),("黄志",28),("陈方",22))
    #获取每个人的姓名
    for i in tup1:
        print(i[0])
    
  • 使用多个变量接收值

    • 格式:变量1,变量2=(元素1,元素2)

      tup = (1,2,3)
      a,*b = tup
      print(a)
      print(b)
      
  • 修改元组:如果元素本身是一个可变数据类型的列表,那么其嵌套项可以被改变

  • tupee函数:将其他数据类型转换为元组

  • 元组方法:index,count,enumerate

字典

  • 当保存一些事物信息的时候,可以使用字典格式

  • 格式:{key:value},key必须是不可变类型,唯一的,value数据类型任意

  • 定义字典:可以使用dict(),也可以直接使用{}

    • 注意:大括号中应包含key-value,key-value之间用英文冒号隔开,

      ​ 多个key-value之间好用逗号隔开

      ​ 字典中的键不可重复,重复会覆盖

  • 字典特有方法

    • 增加
    方法 描述
    通过key添加value值 如果key存在,则覆盖, 字典[key]=value
    setdefault() 指定key和value,如果key存在则不覆盖, 字典.setdefault(key,value)
    • 删除
    方法 描述
    pop() 返回并删除指定键对应的值 字典.pop(键)
    popitem() 返回并删除最后一个键值对 字典.popitem()
    clear() 清空字典
    del 删除整个字典或字典中对应的键值对
    • 修改
    方法 描述
    通过key修改value值 如果key存在,则覆盖, 字典[key]=value
    update() 传递一个字典,如果key相同,则覆盖,没有key则添加 字典1.update(字典2)
    • 查找
    方法 描述
    通过key查找 通过指定的key找到对应的值 字典[键]
    keys 包含字典所有的键的dict_keys对象,该对象可以转化为列表
    values 包含字典所有的值的dict_keys对象,该对象可以转化为列表
    get 以键取值,如果指定的键不存在,默认返回None,可以指定返回内容
    items 返回字典键值,呈元组形式
    len 字典长度,即键值对的个数
    • 使用dict函数将其他数据转换为字典

      lst = [("name","黄志"),("age",18)]
      dic = dict(lst)
      dic = dict(name="黄志",age=18)
      print(dic)
      
    • 字典排序

      dic = {"a":1,"d":4,"b":2,"c":3}
      对字典排序,是对键排序
      ret = sorted(dic)
      ret = sorted(dic.values())
      print(ret)
      

集合

  • 定义:集合是盛放多个数据的一种类型。集合中的元素是无序的,唯一的,不可变类型

  • 格式:使用{}或者set()创建集合

    • 变量名=set(序列)
    • 变量名={1,2,3,4}
    • 注意:
      • 创建空集合不能用{},{}创建的是字典
      • 集合中的数据类型只能是不可变类型
      • 集合可以自动去重
  • 集合操作

    • 增加
      • add() 集合.add(元素)
      • update() 集合1.update(集合2)
    • 删除
      • pop()
      • remove()
      • clear()
      • del
    • 遍历
      • for i in 集合
  • 集合的数学运算

    • 1.交集(&或者intersection) 取公共部分

    • 2.并集(|或者union)取去除重复后的内容

    • 3.差集(- 或者difference)取set1或者set2中除去公共部分后独有的内容

    • 4.反交集(^或者symmetric_difference) 去除公共部分后所有的内容

    • 5.子集(<或者issubset)

    • 6.超集(>或者issuper)

你可能感兴趣的:(列表推导式,元组,字典,集合)