zoukankan      html  css  js  c++  java
  • python List

    列表List

    列表中的元素是有顺序的,可以使用索引。列表是可变的,可以改变列表的内容。

    列表的常用方法

    列表查询

    index(value,[start,[stop]])

    通过值value,从指定区间查找列表内的元素是否匹配。匹配到第一个就立即返回索引;匹配不到,就抛出异常ValueError。

    时间复杂度O(n)

    >>> l=list(range(1,20,4))
    >>> l
    [1, 5, 9, 13, 17]
    >>> l.index(9)
    2
    >>> l.index(5)
    1
    >>> l.index(8)
    Traceback (most recent call last):
    File "<pyshell#4>", line 1, in <module>
    l.index(8)
    ValueError: 8 is not in list

    count(value)

    返回列表中匹配Value的次数。时间复杂度O(n)

    >>> l=list('hellopython')
    >>> l
    ['h', 'e', 'l', 'l', 'o', 'p', 'y', 't', 'h', 'o', 'n']
    >>> l.count('o')
    2
    >>> l.count('r')
    0
    

       

    列表修改

    索引访问修改

    list[index]=value --索引不要越界

    >>> l=list(range(5))
    >>> l
    [0, 1, 2, 3, 4]
    >>> l[1]=10
    >>> l
    [0, 10, 2, 3, 4] 

    列表增加插入元素

    append(Object)----None(没有返回值)

    列表尾部追加元素,返回None。返回None就意味着没有新列表产生,就地修改。

    时间复杂度O(n)。

    >>> l=list(range(5))
    >>> l
    [0, 1, 2, 3, 4]
    >>> l.append(5)
    >>> l
    [0, 1, 2, 3, 4, 5]

    insert(index,object)--None

    在指定索引index处插入object。超越上界,尾部追加。超越下界,头部追加。

    --慎用,特别是大数据下,在第一位插入后,后面的数据都要挪动。

    >>> l=list(range(1,5))
    >>> l
    [1, 2, 3, 4]
    >>> l.insert(1,10)
    >>> l
    [1, 10, 2, 3, 4]
    >>> l.insert(8,100)
    >>> l
    [1, 10, 2, 3, 4, 100]
    >>> l.insert(-10,'hello')
    >>> l
    ['hello', 1, 10, 2, 3, 4, 100]

    extend(iterable)---None

    将可迭代对象的元素追加进来,返回None。就地修改。

    >>> l
    [1, 10, 2, 3, 4, 100]
    >>> l.insert(-10,'hello')
    >>> l
    ['hello', 1, 10, 2, 3, 4, 100]
    >>> l.extend(range(10,20,4))
    >>> l
    ['hello', 1, 10, 2, 3, 4, 100, 10, 14, 18]

    +----list  

    产生新的列表,原列表不变

    *---list

    重复操作,将列表元素重复n次,返回新的列表。

    列表删除元素

    remove(value)---None

    从左至右查找第一个匹配Value的值,就地修改。如果没有匹配上,抛出ValueError。---慎用

    >>> l=list(range(5))
    >>> l
    [0, 1, 2, 3, 4]
    >>> l.remove(3)
    >>> l
    [0, 1, 2, 4]
    >>> l.remove(10)
    Traceback (most recent call last):
      File "<pyshell#40>", line 1, in <module>
        l.remove(10)
    ValueError: list.remove(x): x not in list

    pop([index])--item

    不指定索引index,就从列表尾部弹出1个元素。指定index,就从索引处弹出1个元素。索引越界会抛出IndexError。

    >>> l=list(range(5))
    >>> l
    [0, 1, 2, 3, 4]
    >>> l.pop()
    4
    >>> l.pop(1)
    1

    clear()----None

    清楚列表中的所有元素,剩下1个空列表。如果有N个元素,小心GC(垃圾回收)

    列表的其他操作

    reverse()----None

    将列表元素反转,返回None.

    sort(key=None,reverse=False)----None

    对列表排序,就地修改,默认升序。reverse为True,反转,降序。

    key是一个函数,指定key如何排序。

    列表的复制

  • 相关阅读:
    Win64 驱动内核编程-12.回调监控进线程创建和退出
    我的主站 SHARELIST -分享列表 (功能持续完善中 2019-11-24 版本0.3)
    Caddy-基于go的微型serve用来做反向代理和Gateway
    Docker Swarm删除节点
    Docker Swarm集群搭建
    Docker Machine-Windows
    Docker Compose
    Docker网络配置进阶
    Docker网络相关
    Docker数据管理
  • 原文地址:https://www.cnblogs.com/dongliping/p/11377786.html
Copyright © 2011-2022 走看看