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']

  • 相关阅读:
    谷歌浏览器插件开发Tutorial: Getting Started (Hello, World!) 教程:准备开始(你好,世界!)
    Android ViewPager多页面滑动切换以及动画效果
    4.4 我同意条款—CheckBox的isCheck属性
    4.2设计具有背景图的按钮—ImageButton的焦点及事件处理
    【文件打开】浏览打开窗口
    【原创】PE检测工具
    emu8086注册算法分析及KeyGen实现
    学破解 <一> PE格式之MSDOS MZ header
    学破解 <二> PE格式之IMAGE_NT_HEADERS
    反虚拟机程序测试
  • 原文地址:https://www.cnblogs.com/t-ae/p/10822700.html
Copyright © 2011-2022 走看看