码迷,mamicode.com
首页 > 其他好文 > 详细

列表和元组

时间:2020-07-19 23:49:36      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:修改   copy   top   erro   lis   ali   count()   转移   eve   

列表的增删改查

  • 函数 描述
    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.index(value [ , start [, stop] ] )
    L.reverse()
    L.sort()
    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
    

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

列表和元组

标签:修改   copy   top   erro   lis   ali   count()   转移   eve   

原文地址:https://www.cnblogs.com/Alan-kx/p/13341388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!