zoukankan      html  css  js  c++  java
  • 列表list常用方法

    1、len:计算列表的长度

    numb = ['中国',1,2,[3,4],(5,6)]

    len(numb) # 返回5 len函数只计算最外面一层列表的元素数,对于内嵌的元素不能计算,如果有需要可以自己定义函数计算

    2、count:查看列表中某个元素出现的次数并返回

    numb = ['中国',1,2,[3,4],(5,6)]

    numb.count("中国")# 返回1,元素“中国”在numb列表中出现了一次

    3、index: 查看某元素第一次出现在列表中的位置

    num = [1,1,2]

    num.index(1)# 返回0,index只返回了第一个1出现在列表中的位置

    4、in 检查元素成员资格

    num = [1,'1',2]

    1 in num #返回True,如果元素存在列表中,则返回true,不在则返回false,是一个布尔函数,tuple和string同样适用

    5、append :在列表末尾添加元素,改变了原列表

    >>>numb=['3', 'c', 5, '美', '中', 3, 1]
    >>> numb.append([1,2,3])
    >>> numb
    ['3', 'c', 5, '美', '中', 3, 1, [1, 2, 3]]

    6、extend():这个函数是连接两个列表成一个列表,没有返回值,也会改变原列表;+也可以连接两个列表但是不会改变原表,连接后的新列表需要赋值给一个新的变量

    >>> a = [1,2,3]

    >>>c = ['a','b',(1,1)]

    >>>a.extend(c)

    >>> a
    [1, 2, 3, 'a', 'b', (1, 1)]

    7、insert (index,item):在列表中index位置插入item,index为要插入的下标位置,item是插入的内容,改变原表,没有返回值

    >>> numb
    [1, 3, '中', '美', 5, 'c', '3']
    >>> numb.insert(2,3)
    >>> numb
    [1, 3, 3, '中', '美', 5, 'c', '3']

    8、pop(index):删除列表中的某个元素(index参数为下标值,从0开始),并将该元素返回,默认删除最后一个元素并返回最后一个元素,这个函数会改变原函数

    >>>numb=['3', 'c', 5, '美', '中', 3, 1]

    >>> numb.pop()

    [1, 2, 3]

    >>> numb
    ['3', 'c', 5, '美', '中', 3, 1]

    #删除列表第一个元素

    >>> numb.pop(0)
    '3'

    >>> numb
    ['c', 5, '美', '中', 3, 1]

    9、remove(item):移除列表中第一个出现的item,不返回值,改变原表

    >>> c = ['a', 'b', (1, 1),'a']
    >>> c.remove('a')
    >>> c
    ['b', (1, 1), 'a']

    10、reverse(),反向输入列表,改变原表,没有返回值

    >>> c=['b', (1, 1), 'a']
    >>> c.reverse()
    >>> c
    ['a', (1, 1), 'b']

    11、sort(key,reverse):对列表进行排序,默认对同类型数据升序排列,key默认none,reverse默认false,也可以指定key值和reverse值进行排序,会改变原表,没有返回值

    >>> cc = ['a','c','b']
    >>> cc.sort()
    >>> cc
    ['a', 'b', 'c']

    #不同类型的元素进行排序会报错

    >>> c=['a', (1, 1), 'b']

    >>> cc.sort()

    Traceback (most recent call last):
    File "<pyshell#85>", line 1, in <module>
    c.sort()
    TypeError: '<' not supported between instances of 'tuple' and 'str'

    # key值排序,sort对同类型数据排序,这里面len计算每个item的长度,根据长度len排序,len返回int型数据,也是同类型的排序

    >>> c=['a', (1, 1), 'b']

    >>> c.sort(key=len)
    >>> c
    ['a', 'b', (1, 1)]

    >>> c.sort(key = len, reverse=True)# reverse=true,是指要反向排序
    >>> c
    [(1, 1), 'a', 'b']

    12、sorted(list)默认对列表进行升序排列,key,reverse同样适用sorted,sorted返回列表,不会改变原表

    >>> list1 = ['a','f','e']
    >>> sorted(list1)
    ['a', 'e', 'f']

    >>> list1
    ['a', 'f', 'e']

    #####想排序原表的副本,又不改变原表的话用sorted()函数最好,也可以用分片法[:]复制原表,再排序

    a

    b=a[:]

    b.sort()

    但是没有sorted()适用方便

    注意:b=a,并不是复制了a,只用a,b同时指向了一个内存地址,如果用b=a,b.sort(),也是会改变内存地址里的内容。

    13、切片改变列表,改变了原列表

    ##替换列表里的值

    >>> numb=[2, 2, 3, 4, 5, 6, 7]
    >>> numb[1:]=list('python')#从下标1到最后的元素都被list(‘python’)替换

    >>> numb
    [2, 'p', 'y', 't', 'h', 'o', 'n']

    ## 插入列表元素

    >>> numb[1:1]=list('123')
    >>> numb
    [2, '1', '2', '3', 'p', 'y', 't', 'h', 'o', 'n']

    ##删除列表元素(就是用空列表[]替换列表里的元素)

    >>> numb[4:]=list('')#也可以写成[]
    >>> numb
    [2, '1', '2', '3']

    ##负值切片替换
    >>> numb2=['1', '2', '3']
    >>> numb2[-3:-1]=[1,2,3,4,5,6]
    >>> numb2
    [1, 2, 3, 4, 5, 6, '3']

    ###step为负值,切片替换

    >>> numb=[1, 'a', 3, 'b', 5, 'c', '3']

    >>> numb[-4:-7:-2]=list('中国')###切片取出的个数要与替换的元素个数一致,否则报错,step为负值时,右边的元素要比左边的元素先出现
    >>> numb
    [1, '国', 3, '中', 5, 'c', '3']

  • 相关阅读:
    openwrt 相关文章
    负载均衡相关文章
    Today's Progress
    Rodrigues formula is beautiful, but uneven to sine and cosine. (zz Berkeley's Page)
    Camera Calibration in detail
    Fundamental Matrix in Epipolar
    Camera Calibration's fx and fy do Cares in SLAM
    FilterEngine::apply
    FilterEngine 类解析——OpenCV图像滤波核心引擎(zz)
    gaussBlur
  • 原文地址:https://www.cnblogs.com/t-ae/p/10822700.html
Copyright © 2011-2022 走看看