day 07

day 07

01.元祖内置方法

  1. 作用;被写死的列表

  2. 定义方式;tuple (x,x,x,x,x) # 一经定义就不可更改

    如果元祖只有一个元素,要加逗号,#元祖一定要有逗号 #占用内存小

  3. 使用方法;

    tup=(1,2,3,4)

    1. 索引取值

      tup[0]
      
    2. 索引切片

      tup[0:2]
      
    3. for循环

      for i in tup:
      
    4. 成员运算

      2 in tup
      
    5. len长度

      len(tup)
      
    6. index获取元素索引

      tup.index(2)
      
    7. count 计数

      tup.count(2)
      
  4. 有序or无序;

    有序

  5. 可变不可变;

    不可更改

02.字典内置方法

  1. 作用;储存多个值,对每个值都有描述

  2. 定义方式;dict {'a':'b','c':'d'}

  3. 使用方法;

    dic={'a':1,'b':2,'c':3}

    1. 优先掌握

      1. 按key取值/修改值

        dic['a'] # 按key取值
        dic['a'] = 0  # 按key修改值
        
      2. 添加值

        dic['d'] = 9  # 定义没有的键值对
        
      3. for循环

        for i in dic:  # 只循环key
        
      4. 成员运算

        'a' in dic
        
      5. len长度

        len(dic)
        
      6. keys/values/items

        print(dic.keys())  # 获取所有key为列表
        print(dic.values())  # 获取所有值为列表
        print(dic.items())  # 获取所有键值对为列表
        
    2. 需要掌握

      1. get ;获取

        s = 'e'
        dic.get('b',1)  # 1为默认值,当字典中没有'b'时返回1,否则默认返回None
        
      2. update ;更新,等同于list里的extend

        dic1 = {'a': 1, 'c': 2}
        dic2 = {'b': 1, 'd': 2}
        dic1.update(dic2)  # 将dic2合并到dic1中
        
      3. fromkeys

        print(dict.fromkeys(dict.fromkeys([1, 2, 3, 4])))  # 默认给None
        
      4. setdefault # 字典有这这个key,就不修改,没有则增加

      5. dic.setdefault('j', 2)
        dic.setdefault('a', 2)
        
  4. 有序or无序

    无序

  5. 可变or不可变

    可变

03.集合

  1. 什么是集合

    交集/并集/补集/差集

  2. 作用

    1. 进行上述运算
    2. 去重
    3. 乱序--》基于散列表实现(数字不会乱序)
  3. 定义方式;{}号内用逗号隔开(不能为可变数据类型)

    s=set() # 空集合

  4. 使用方法

    pythoners = {'jason', 'nick', 'tank', 'sean'}
    linuxers = {'nick', 'egon', 'kevin'}
    # 并集
    print(pythoners | linuxers)
    
    # 交集
    print(pythoners & linuxers)
    
    # 差集
    print(pythoners - linuxers)
    
    # 补集
    print(pythoners ^ linuxers)
    
    # add(*******)
    pythoners.add('oscar')
    print(pythoners)
    
    
    pythoners.remove('oscar1')  # 没有报错
    print(pythoners)
    pythoners.discard('oscar1')  # 没有不报错
    print(pythoners)
    
    pythoners.pop()  # 随机删除一个
    print(pythoners)
    
    
  5. 有序or无序

    无序

  6. 可变or不可变

    可变

04.拷贝

使用时先

import copy #导入模块
lt2 = copy.copy(lt1)  # lt2叫做lt1的浅拷贝对象
lt2 = copy.deepcopy(lt1)  # lt2叫做lt1的深拷贝对象

列表 索引 id id套id
字典 key id id套id

拷贝 拷贝id
浅拷贝 拷贝id里的id
深拷贝 拷贝最深层id

原文地址:https://www.cnblogs.com/luocongyu/p/11530287.html