列表和元组

列表的增删改查

  • 函数 描述
    L.append() 列表尾部追加
    L.insert( index , x ) 在 index 位置插入x, 后面的元素依次递减
    L.extend(x) 迭代加入

    举例:

    >>> L=["你好",12,True]
    #尾部加入
    >>> L.append("wewe")
    >>> L
    ['你好', 12, True, 'wewe']
    
    #任意位置加入
    >>> L.insert(2,111)
    >>> L
    ['你好', 12, 111, True, 'wewe']
    
    #迭代加入
    >>> L.extend("我不好")
    >>> L
    ['你好', 12, 111, True, 'wewe', '我', '不', '好']
    #ps:extend会将每一个元素依次加入尾部
    
    >>> L.extend([12,,,])
    SyntaxError: invalid syntax
    #和下一个对比
    >>> L.extend([12,])
    >>> L
    ['你好', 12, 111, True, 'wewe', '我', '不', '好', 12]
    #extend只会检查元素,并不会加入空出的部分
    
    >>> L.extend(["ALAN"])
    >>> L
    ['你好', 12, 111, True, 'wewe', '我', '不', '好', 12, 'ALAN']
    
  • 函数 描述
    L.pop(index) 返回并删除位置是index的元素,默认是最后一个
    L.remove(value) 删除值为value的从左至右第一个元素
    L.clear() 清空列表,移除所有元素
    del L[n] 按照索引删除
    del L[n:m:2] 按照切片删除
    >>> L
    ['你好', 12, 111, True, 'wewe', '我', '不', '好', 12, 'ALAN']
    
    #pop()默认情况
    >>> L.pop()
    'ALAN'
    >>> L
    ['你好', 12, 111, True, 'wewe', '我', '不', '好', 12]
    
    #指定情况
    >>> L.pop(0)
    '你好'
    >>> L
    [12, 111, True, 'wewe', '我', '不', '好', 12]
    
    #remove()
    >>> L.remove(12)
    >>> L
    [111, True, 'wewe', '我', '不', '好', 12]
    
    #clear()
    >>> L.clear()
    >>> L
    []
    
    #del  单个索引
    >>> x=[1,2,3,4,5,6,7]
    >>> del x[6]
    >>> x
    [1, 2, 3, 4, 5, 6]
    
    #del  索引切片
    >>> del x[::2]
    >>> x
    [2, 4, 6]
    
    • 按照索引改

      >>> x
      [2, 4, 6]
      x[0]=1
      
    • 按照切片改

      >>> x[:1]=[1,2,4]
      >>> x
      [1, 2, 4, 4, 2]
      
    • 按照切片(特定步长)改

      改动后的元素必须和改动前的元素数量相同

      >>> x
      [1, 4, 6]
      >>> x[::2]=1,2
      >>> x
      [1, 4, 2]
      
  • 一般用切片的方法进行查询

  • 其他用法

    函数 用法
    L.count(x) 计算列表中x出现的次数
    L.copy() 拷贝一个新的列表L
    L.index(value [ , start [, stop] ] ) 找到在限定列表范围内的值的索引
    L.reverse() 倒置列表
    L.sort(reverse=False) 默认对列表内元素从小到大排序
    sum() 对列表内元素求和

    注意:列表或序列的相等是转移的地址。

    #这是直接相等转移的,一处发生改变将处处变
    >>> L=[1,2,3,4]
    >>> L1=L
    >>> L1[0]=2
    >>> L
    [2, 2, 3, 4]
    
    #这里的是拷贝复制,只对当前的改变
    >>> L=[1,2,3,4]
    >>> W=L.copy()
    >>> W[0]=3
    >>> W
    [3, 2, 3, 4]
    >>> L
    [1, 2, 3, 4]
    
    • L.count()

      >>> L
      [1, 2, 3, 4]
      >>> L=[1,1,1,2,3,4]
      >>> L.count(1)
      3
      
    • L.reverse

      >>> L.reverse()
      >>> L
      [4, 3, 2, 1, 1, 1]
      
    • L.index()

      >>> L
      [1, 2, 3, 4, 5, 4, 3, 2, 1]
      >>> L.index(1)
      0
      >>> L.index(5,5)
      #报错
      #ValueError: 5 is not in list
      >>> L.index(1,1,2)
      #报错
      #ValueError: 1 is not in list
      >>> L.index(5,1,6)
      4
      
    • L.sort()

      >>> L.sort()
      >>> L
      [1, 1, 2, 2, 3, 3, 4, 4, 5]
      

元组(tuple)

元组是一种只读列表,是一种不可修改字符的序列。

基于元组的特点,元组只需要列表的功能函数中的查。

  • 元组中的一个小特例

    对于元组中的列表,可以修改其内部的元素值,或进行增删改查。

    >>> x=([1,2,3,4],5)
    >>> x[0][1]=[1,2,3]
    >>> x
    ([1, [1, 2, 3], 3, 4], 5)
    >>> del x[0][1]
    >>> x
    ([1, 3, 4], 5)
    
  • 元组的拆包

    a,b=(1,2)
    a
    #1
    b
    #2
    

    拆包必须保证元素个数相同

posted @ 2020-07-19 21:42  life_if_forever  阅读(118)  评论(0)    收藏  举报