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如何排序。

    列表的复制

  • 相关阅读:
    通用权限管理设计 之 数据库结构设计
    jQuery LigerUI 插件介绍及使用之ligerDateEditor
    jQuery LigerUI 插件介绍及使用之ligerTree
    jQuery LigerUI V1.01(包括API和全部源码) 发布
    jQuery liger ui ligerGrid 打造通用的分页排序查询表格(提供下载)
    jQuery LigerUI V1.1.5 (包括API和全部源码) 发布
    jQuery LigerUI 使用教程表格篇(1)
    jQuery LigerUI V1.0(包括API和全部源码) 发布
    jQuery LigerUI V1.1.0 (包括API和全部源码) 发布
    nginx keepalived
  • 原文地址:https://www.cnblogs.com/dongliping/p/11377786.html
Copyright © 2011-2022 走看看