• 第七天


    今日内容

    列表(list):

      ======================================基本使用======================================
      1、用途:多个装备,多个爱好,多门课程,多个女朋友等
    
      2、定义方式::[]内可以有多个任意类型的值,逗号分隔   例:x = ["xxx","yyy",111]
         数据转换方式:x = list("xxx")
    
      3、常用操作+内置的方法:
            优先掌握的操作:
            1、按索引存取值(正向存取+反向存取):即可存也可以取     
                  x = ["xxx","yyy",111]
                  print(x[0]) 正向取    print(x[-1])   反向取
                  ps:可以改变列表内索引对应的值,如果索引不在列表内也不能用变量来增加
    
            2、切片(顾头不顾尾,步长)
                  x[起始位置:结束位置:步长]      用法与字符串一样
    
            3、长度
                  print(len(x))                      查看列表内有多少个元素
    
            4、成员运算in和not in
                  print("xxx" in x)                   判断指定字符串是否在列表中
    
            5、追加(append、insert)
                  x.append(添加的值)                  总是在列表最后一位添加
                  x.insert(索引,添加的值)             可以指定索引位置添加
      
            6、删除(del、remove、pop)
                  del x[索引]                          指定索引删除,不指定索引会将整个列表删除,索引不存在将报错,无返回值
                  x.remove("指定字符串")                指定字符串删除,字符串不在列表内将报错,无返回值 
                  x.pop(索引)                           指定索引删除,不指定索引会删除最后一位元素,索引不存在将报错,有返回值
    
            7、循环(可配合for循环使用)
                  for l in x:
                        print(l)                        会将列表中的每个元素取出来
            需要掌握的操作:
            1、拷贝(copy)
                  new_x = x.copy()                      原理:new_x = x[:]          !:浅拷贝
    
            2、查找(index)
                  x.index(33)                            查找括号内元素是否在列表中,不在会报错
    
            3、统计指定元素的个数(count)
                  print(x.count(33))                     计算列表中有几个指定元素
      
            4、清空整个列表(clear)
                  print(l.clear())                       清空整个列表,会留一个无值的空列表
    
            5、追加写(extend)
                  x.extend("hello")
                  print(l)                               在原列表中追加写一个可迭代(能被for循环)的元素
    
            6、倒序(reverse)
                  x.reverse()
                  print(x)                               将整个列表倒过来
    
            7、排序(sort)
                  l = [11,-3,9,7,20,99,74]
                  l.sort()
                  print(l)                                从小到大排序
                  l.sort(reverse=True)
                  print(l)                                从大到小排序
    
      ======================================该类型总结====================================
      存多个值
    
      有序
    
      可变:值变,id不变。可变==不可hash
    

    了解:深、浅拷贝

    浅拷贝:只拷贝了第一层索引对应的内存地址,第一层中不可变类型改变,新旧列表之间不受影响

    如果第一层中可变类型改变,新旧列表中的值会同时改变

    深拷贝:拷贝了每一层的索引对应的内存地址,每一层中不可变类型改变,新旧列表之间不受影响

    每一层中可变类型改变,新旧列表中的值不会同时改变

    元祖(tuple):

      ======================================基本使用======================================
      1、用途:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),主要是用来读
    
      2、定义方式:与列表类型比,只不过[]换成()
                  age=(11,22,33,44,55)本质age=tuple((11,22,33,44,55))
    
      3、常用操作+内置的方法:
            优先掌握的操作:
            1、按索引取值(正向取+反向取):只能取   
                  print(x[0])                  可以按照索引取值
    
            2、切片(顾头不顾尾,步长):
                  print(x[起始索引:结束索引:步长]
    
            3、长度
                  print(len(x))                计算元组内有多少个元素
    
            4、成员运算in和not in
                  print("xxx" in x)            判断指定字符串是否在元祖中
    
            5、循环(可配合for循环使用)
              
            需要掌握的操作:
            1、按索引查找(index)
                  print(x.index(11))           查找指定元素在元祖中的索引,不存在则报错
    
            2、统计指定元素的个数(count)
                  print(x.count(22))           查找指定元素在元祖中的个数
            ========================================================================
            x = (11,22,[33,44])
            x[0] = 22                          元祖内不可变元素值不能改变
            x[2][0] = 11
            print(x)                           元祖中可变元素,只能改变
            原理:元祖内都是索引和对应的内存地址,只要索引和内存地址不改变,值就可以改变
      ======================================该类型总结====================================
      存一个值
    
      有序
    
      不可变:值变,id就变。不可变==可hash
    

    字典(dict):

      ======================================基本使用======================================
      1、用途:存多个值,key-value存取,取值速度快
    
      2、定义方式:key必须是不可变类型,value可以是任意类型
                  info={'name':'egon','age':18,'sex':'male'}      本质info=dict({....})
                  或
                  info=dict(name='egon',age=18,sex='male')
                  或
                  info=dict([['name','egon'],('age',18)])
                  或
                  {}.fromkeys(('name','age','sex'),None)
    
    
      3、常用操作+内置的方法:
            优先掌握的操作:
            1、按key存取值:可存可取:
                  x = {"k1":111,"k2":222}
                  print(x["k1"])                        按key来取值
    
                  x["k3] = 333          
                  print(x)                              如果key值不在字典内则增加一组,如果key值在字典中则改变字典中key对应的值
    
            2、长度len:
                  len(x)                                计算字典中有多少组key:value
    
            3、成员运算in和not in
                  print("k3" in x)                      判断是否在字典内的key值中
    
            4、删除
                  del x["k1"]                           指定key值删除所相对应的值
                  res = x.pop("k1")                     指定key值删除所相对应的值,有返回值
                  res = x.popitem()                     随机删除字典内一组key,value值,有返回值
    
            5、键keys(),值values(),键值对items()
                  x = {"k1":111,"k2":222}
                  print(x.keys())                        显示列表中所有key值
                  print(x.values())                      显示列表中所有values值
                  print(x.items())                       显示列表中所有key:values值
    
            6、循环
                  可以被for循环使用
      ======================================该类型总结====================================
      存多个值
    
      无序
    
      key必须是不可变类型,value可以是任意类型
  • 相关阅读:
    数据库语句中(+)是什么意思
    MySQL的存储引擎(二)解决Warning Code : 3719 'utf8' is currently an alias for the character set UTF8MB3,...
    MSQL存储引擎(一)
    fastjson的使用,在redis里面存list
    js的发展历史,笔记
    spring的断言工具类Assert的基本使用
    httpclient的使用
    nginx的反向代理
    使用 Redis 连接池的原因
    springboot的yml自定义值的笔记
  • 原文地址:https://www.cnblogs.com/kk942260238/p/14180973.html
Copyright © 2020-2023  润新知