• 列表,元组等学习笔记小结


    例1:列表切片
      names = ["zhangsna","lisi","wangwu","zhaoliu"]
      print(names[1])    #读取第2个元素,列表的下表是从0开始的   lisi
      print(names[0],names[2]) #读取第1个,第3个元素       zhangsna wangwu
      print(names[0:])   #读取下标0及往后的所有元素     ['zhangsna', 'lisi', 'wangwu', 'zhaoliu']
      print(names[1:])   #读取下标1及往后的所有元素    ['lisi', 'wangwu', 'zhaoliu']
      print(names[1:2])   #读取下标1及下标2前的所有元素   ['lisi']
      print(names[1:3])   #读取下标1及下标3前不包括3,这叫切片 ['lisi', 'wangwu']
      print(names[-1])   #读取最后1个元素      zhaoliu
      print(names[-3:])   #读取倒数第三个往后的所有数据;   ['lisi', 'wangwu', 'zhaoliu']
      print(names[-3:-1])   #顺序都是从左往右的      ['lisi', 'wangwu']
      print(names[:3])       #等于names[0:3]       ['zhangsna', 'lisi', 'wangwu']
      print(names[0:-1:2])        #步长2,隔开切片      ["zhangsna","wangwu"]
      print(names[::2])   #等于names[0:-1:2]      ["zhangsna","wangwu"]
     
     
     列2:列表的追加:(追加是追加在末尾)
      names = ["zhangsna","lisi","wangwu","zhaoliu"]
      print(names)          
      names.append("kitty")
      print(names)
     输出结果:
      ['zhangsna', 'lisi', 'wangwu', 'zhaoliu']
      ['zhangsna', 'lisi', 'wangwu', 'zhaoliu', 'kitty']
     
     列3:插入到指定位置:
      names = ["zhangsna","lisi","wangwu","zhaoliu"]
      print(names)
      names.insert(1, "kitty")
      print(names)
     输出结果:
      ['zhangsna', 'lisi', 'wangwu', 'zhaoliu']
      ['zhangsna', 'kitty', 'lisi', 'wangwu', 'zhaoliu']
     
     列4:修改列表内容;
      names = ["zhangsna","lisi","wangwu","zhaoliu"] 
      print(names)
      names[1] = "Brace"
      print(names)
     输出结果:
      ['zhangsna', 'lisi', 'wangwu', 'zhaoliu']
      ['zhangsna', 'Brace', 'wangwu', 'zhaoliu']
     
     
     列5:列表内容的删除:
     删除1:
      names = ["zhangsna","lisi","wangwu","zhaoliu"] 
      print(names)
      names.remove("lisi")
      print(names)         #输出:['zhangsna', 'wangwu', 'zhaoliu']
     删除2:
      print(names)
      del names[1]         #指定下标删除
      print(names)         #输出:['zhangsna', 'wangwu', 'zhaoliu']
     删除3:
      names = ["zhangsna","lisi","wangwu","zhaoliu"] 
      print(names)
      names.pop()          #默认不输入下标,删除最后一个
      print(names)         #输出:['zhangsna', 'lisi', 'wangwu']
     删除4:
      print(names)
      names.pop(1)         #指定下标删除
      print(names)         #['zhangsna', 'wangwu', 'zhaoliu']
     列6:查找元素的下标:
      names = ["zhangsna","lisi","wangwu","zhaoliu"]
      print(names.index("lisi"))      #输出:1
      print(names[names.index("lisi")])    #输出:lisi
     
     
     列7:列表相同元素个数统计: 
      names = ["zhangsna","lisi","wangwu","zhaoliu","lisi"]
      print(names.count("lisi"))      #输出:2
     
     列8: 列表元素的清除
      names = ["zhangsna","lisi","wangwu","zhaoliu","lisi"]
      names.clear()
      print(names)          #输出:[]
     
     列9:列表元素的反转:
      names = ["zhangsna","lisi","wangwu","zhaoliu","lisi"]
      names.reverse()
      print(names)          #输出:['lisi', 'zhaoliu', 'wangwu', 'lisi', 'zhangsna']
     
     列10:列表元素的排序
      names = ["zhangsna","lisi","wangwu","zhaoliu","lisi"]
      names.sort()
      print(names)          #输出:['lisi', 'lisi', 'wangwu', 'zhangsna', 'zhaoliu']
     
     
     列11:列表元素合并: 
      names = ["zhangsna","lisi","wangwu","zhaoliu","lisi"]
      names1 = [1,2,3,4,5]
      names.extend(names1)
      print(names)          #输出:['zhangsna', 'lisi', 'wangwu', 'zhaoliu', 'lisi', 1, 2, 3, 4, 5]
      print(names1)          #输出:[1, 2, 3, 4, 5]
     
     
     列12:列表元素浅复制(浅拷贝):只拷贝第一层,更深层次不拷贝,和copy.copy一样
     
     列1:
      names = ["zhangsna","lisi","wangwu","zhaoliu","lisi"]
      names2 = names.copy()
      print(names)
      print(names2)
      names[2]="李李"
      print(names)
      print(names2)
     
     输出结果:
      ['zhangsna', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
      ['zhangsna', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
      ['zhangsna', 'lisi', '李李', 'zhaoliu', 'lisi']
      ['zhangsna', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
      
     列2:
      names = ["zhangsna","lisi","wangwu",["a","b","c"],"zhaoliu","lisi"]
      names2 = names.copy()
      print(names)
      print(names2)
      names[2]="李李"
      names[3][1]="bbbbb"
      names[3][2]="ccccc"
      print(names)
      print(names2)
     
     输出结果:
      ['zhangsna', 'lisi', 'wangwu', ['a', 'b', 'c'], 'zhaoliu', 'lisi']
      ['zhangsna', 'lisi', 'wangwu', ['a', 'b', 'c'], 'zhaoliu', 'lisi']
      ['zhangsna', 'lisi', '李李', ['a', 'bbbbb', 'ccccc'], 'zhaoliu', 'lisi']
      ['zhangsna', 'lisi', 'wangwu', ['a', 'bbbbb', 'ccccc'], 'zhaoliu', 'lisi']
     
     要想完整拷贝,需要用到copy模块, copy.deepcopy 深拷贝:
     
      import copy
      names = ["zhangsna","lisi","wangwu",["a","b","c"],"zhaoliu","lisi"]
      names2 = copy.deepcopy(names)
      print(names)
      print(names2)
      names[2]="李李"
      names[3][1]="bbbbb"
      names[3][2]="ccccc"
      print(names)
      print(names2)
     
     输出结果:
      ['zhangsna', 'lisi', 'wangwu', ['a', 'b', 'c'], 'zhaoliu', 'lisi']
      ['zhangsna', 'lisi', 'wangwu', ['a', 'b', 'c'], 'zhaoliu', 'lisi']
      ['zhangsna', 'lisi', '李李', ['a', 'bbbbb', 'ccccc'], 'zhaoliu', 'lisi']
      ['zhangsna', 'lisi', 'wangwu', ['a', 'b', 'c'], 'zhaoliu', 'lisi']
     
     
     列13:列表循序:
      names = ["zhangsna","lisi","wangwu",["a","b","c"],"zhaoliu","lisi"]
      for i in names:
      print(i)
      
      输出:
      zhangsna
      lisi
      wangwu
      ['a', 'b', 'c']
      zhaoliu
      lisi
     
     浅拷贝的4种实现方式:
      person = ["name",['a',100]]
      方式1:
      P1 = copy.copy(person)
      方式2:
      p2 = person[:]
      方式3:
      p2 = person.copy()
      方式4:
      p3 = list(person)
     
      names = ["zhangsna","lisi","wangwu",["a","b","c"],"zhaoliu","lisi"]
      p1 = list(names)
      names[3][1] = 100
      print(p1)
      
      输出:
      ['zhangsna', 'lisi', 'wangwu', ['a', 100, 'c'], 'zhaoliu', 'lisi'] 
     浅拷贝的应用(联合账号): 
      person = ["name",["saving",100]]
      p1 = person.copy()
      p2 = person.copy()
      p1[0] = 'alex'
      p2[0] = 'fengjie'
     
      p1[1][1] = 50
      p2[1][1] = 30
      print(p1)
      print(p2)
     输出结果:
      ['alex', ['saving', 30]]
      ['fengjie', ['saving', 30]]

    8. 元组tuple:只读列表,不能增删改;
     
     names = ('alex','jack')
     
     只有2个方法,一个是count,一个是index.
     
      
    9. 删除变量:
     del name1
     
    10.集合set 用于去重;
     >>> ids = [1,2,3,1,3,1,4,5,1,2,3]
     >>> id = list(set(ids))
     >>> id
     [1, 2, 3, 4, 5]
     >>> print(set(ids))
     {1, 2, 3, 4, 5} 
  • 相关阅读:
    越大优先级越高,优先级越高被OS选中的可能性就越大
    锁标记如果过多,就会出现线程等待其他线程释放锁标记
    使用带缓冲区的输入输出流的速度会大幅提高
    Bufferread有readline()使得字符输入更加方便
    java的开发主要以http为基础
    UDP也需要现有Server端,然后再有Client端
    端口是一种抽象的软件结构,与协议相关
    具有全球唯一性,相对于internet,IP为逻辑地址
    判断是否一个属性或对象可序列化
    把对象通过流序列化到某一个持久性介质称为对象的可持久化
  • 原文地址:https://www.cnblogs.com/brace2011/p/9180466.html
Copyright © 2020-2023  润新知