Python操作列表总结

2018/02/18 Python Read:

总结Python如何操作列表基础知识。列表操作一文通 :smile:

何为列表

name = ['Michael', 'Bob', 'Tracy']
a = [5, 2, 3, 1, 4]
li = [{"day":2},{"day":1},{"day":3}]

符合以上特点,可称为列表

创建列表

  list1 = []
  list2 = [2, 3, 4]
  list3 = ["red", "green"]
  list4 = [2, "three", 4]         #注意:一个列表里面可以包含不同类型的元素

列表操作

  • 取值
    List[0]  #取第一个值
    List[0:5] #取前五个值
    List[-1] #取最后一个值
    
  • 输出列表长度
    print(len(list_name)
    
  • 修改
    List[0] = 'aaxzaxjsa'
    
  • 列表排序
    List.sort()    #正向排序
    List.reverse()  #反转列表
    List.sort().reverse()  #先正向排序再反转列表,就是反向排序
    
  • 列表内元素完成复制 使用*完成
    >>> a=[1,2]
    >>> a*2
    [1, 2, 1, 2]
    
  • 列表倒置
    list_name[::-1] 
    或
    list_name.reverse()  
    
  • 列表切片
#列表切片,切取索引从a到b-1的元素
sample[a:b] 
#列表切片,切取索引从a到结束的元素
sample[a:] 
#列表切片,切取索引从0到b-1的元素
sample[:b] 
#列表复制,切取所有并赋值给一个变量
variable_name=sample[:]
  • 列表解析
    >>> list1 = [x for x in range(5)]
    >>> list1
    [0, 1, 2, 3, 4]
    >>> list2 = [0.5 * x for x in list1]
    >>> list2
    [0.0, 0.5, 1.0, 1.5, 2.0]
    >>> list3 = [x for x in list2 if x < 1.5]
    >>> list3
    [0.0, 0.5, 1.0]
    
  • 列表遍历
    for element in sample:
      print (element)
    
  • 列表组合 将列表或元组对应位置的元素组合成元组,并返回包含这些元组的zip对象,里面是一个个元组
    >>>a=[1,2,3]
    >>>b=[4,5,6]
    >>>list(zip(a,b))
     [(1,4),(2,5),(3,6)]
    
  • 常用方法
      L.index(value[,begin[,end]])
          - 返回对应元素的索引下标,
          - begin为开始索引,end为结束索引
          - 当 value 不存在时触发ValueError错误
    
      L.insert(index,obj):在指定位置插入元素
          - index:索引值,插入到索引值之前
    
      L.count(x):返回列表中x的个数(没有,返回0)
    
      L.remove(value):从列表中删除值
          - 只删除第一次出现的value
          - 需要知道value
    
      L.copy():复制列表(生成新的id值;只复制一层,不复制深层对象)
    
      L.append(value)
          - 向列表末尾追加单个元素
          - L = [1,2,3]
              L.append([6,7,8])
              --> L = [1,2,3,[6,7,8]]
    
      L.extend(list)
          - 扩展,向列表追加列表
          - L = [1,2,3]
              L.extend([6,7,8])
              --> L = [1,2,3,6,7,8]
        也就是列表的合并
      >>> L1 = [1, 2, 3, 4, 5]
      >>> L2 = [20, 30, 40]
      >>> L1.extend(L2)
      >>> L1
      [1, 2, 3, 4, 5, 20, 30, 40]
     直接使用L1 + L2亦可
    
      L.clear(): 清空列表
          - 等同于 L[:] = []
    
      L.sort(reverse = False):排序
          - 将列表中的元素进行排序,默认顺序按值的小到大的顺序排列
    
      L.reverse():列表的反转,改变原列表的先后顺序,返回值None
    
      L.pop([index]):弹出元素
          - 不加index时,默认删除最后一个元素,并返回删除元素的引用关系
          - 删除索引对应的元素
    求和
    sum(list_name)
    最大最小
    max(a) 
    min(a)
    
  • 列表元素去重
    >>> a
    [1, 2, 2, 3, 6, 8]
    >>> a = list(set(a))
    >>> a
    [1, 2, 3, 6, 8]
    >>>
    
  • 将字符串分割为列表 str类中的split方法,可指定分割的标志。
    >>> items = "the weather is cold today".split()
    >>> items
    ['the', 'weather', 'is', 'cold', 'today']
    >>> items = "2019/11/6".split("/")
    >>> items
    ['2019', '11', '6']
    
  • Python将多个list合并为1个list 可以使用”+”号完成操作,或使用extend方法。

Search

    Table of Contents