zoukankan      html  css  js  c++  java
  • 列表

    内容导读

    • 列表的创建
    • 列表的基本操作

    一 列表的创建

    name_list = ['alex', 'seven', 'eric']       #直接通过大括号创建
    name_list = list(['alex', 'seven', 'eric']) # 通过list() 内置函数创建
    a = list(range(1,200))                          #直接创建0到199 的列表
    a =

    二 列表的基本操作

    • 切片
      name =slice(2,4)   # >> s[2:4]   ==    s[name]          #代码中如果出现大量的硬编码下标值会使得可读性和可维护性大大降低,所有以此来解决
      print(list1[0-2])    #>>>c                 注意:此处0-2是减法运算,结果为-2  
      print(list1[0:2])   # >>>['a', 'b']          注意:此处2是去不到的,实质是取 0,1  
      print(list1[-1:-5])  #>>>[ ]                 注意:不能从右往左切
      print(list1[-5:-1])  #>>>['a', 'b', 'c']   
      print(list1[-6:-1]) # >>>['a', 'b', 'c']  
      print(list1[-5:])    #>>>['a', 'b', 'c', 'b']  
      print(list1[0:5:2])  #  >>>['a', 'c']        注意:此处2为步长
    • 增加
       list.append("s")     #追加       
       list.insert(0,"ss")     #插入, 在0处插入“ss”
    • 删除
      li = list.pop()            #删除并获取最后一个元素
      li = list.pop(local)       #删除并获取指定位置的元素           #不知道值,知道位置
      list.remove("a")           # 移除指定元素,(有多个此元素时,只删除第一个)       #不知道位置,但是知道元素的值
      del list[1:2]              # 批量删除  
      del list[1:2]              # 批量删除 
    • 修改
      list[2] = "aa"  
      list[2:5] = "aaa"         #>> > ['a', 'b', 'a', 'a', 'a']  
      list[2:5] = "aaa", 12, 13 #>> > ['a', 'b', 'aaa', 12, 13] 
    • 查询
      print(list.index("a")) #  查询字符'a'的个数,"a"不存在报错
      print(list.count("a")) #  查询字符'a'的个数,"a"不存在返回0
    • 深浅拷贝

      list1 = [1,2,3,[5,6]
      浅拷贝
      # 把原列表第一层的内存地址不加区分全部拷贝给新列表
      list2 = list1.copy()   ==    list2 = list1[ : ]    
      #复制成一个独立的列表,列表内存地址不同,但列表内的数据的地址是相同的, 
      #修改a中的不可变数据类型1,2,3,对a2没有影响,因为此时a中数据的内存地址都更换了
      #但是修改a中的不可变数据类型,如[5,6],那么a2中的[5,6]也会发生改变
      
      
      深拷贝 
      # 拷贝时对列表的值的可变性进行区分,
      #可变类型产生一个新的内存地址(容器),新内存地址里将原可变类型里的值复制一份
      #不可变类型拷贝原内存地址
      import copy 
      list3 =copy.deepcopy(list1) # list与list2全无瓜葛
    • 排序
      reverse()                       #反转列表
      list.sort()                     #永久性的排序     注意 : 字符和数字不能混排,字母和符号按ASCII排  
      list.sort(reverse=True )        #反向排序   
      sorted(list,reverse = True)      #临时性的排序(可反向),如需永久,需要赋值
    • 枚举
      for i in enumerate(list):
                print(i)    
      
      for index,i in enumerate(list)   #结果没有括号
    • 长度,包含,循环,清空
      len(list)    #长度
      for i in list:  #循环
      a in list:   # 包含
      list.clear()  # 清空
  • 相关阅读:
    jquery.FixedColumns 滚动兼容问题
    面向对象三大特性:继承、封装、多态
    jquery.chosen.js和select2使用笔记
    Git查看、删除、重命名远程分支和tag(转载)
    GIT忽略追踪文件
    git代码量统计(转载)
    SQL SERVER如何收缩日志-通过脚本收缩(转发)
    GIT常用命令
    解决 git extensions 每次提交需要输入用户名和密码
    Mysql 5.7初始化密码
  • 原文地址:https://www.cnblogs.com/leiyiming/p/8907810.html
Copyright © 2011-2022 走看看