• 列表


      

      字符串取数据需要下标一个个数进行取值,会比较麻烦,相对的话列表取值就比较方便,以下介绍列表常用的增删改查,以及列表之间的合并和元素的排序等:

    增加:append()方法给列表从最末尾添加值

        insert()方法指定位置添加元素

    删除:pop()方法默认删除最后一个元素,也可以传值,删除指定的元素

             clear()清空列表所有元素

             del 变量名[下标]删除指定位置的元素也可以删除可变变量和不可变变量

             remove(元素)删除列表中的元素

    修改:通过下标修改列表中的值

    查看:可采用下标取值的方式,查看具体下标对应的元素

             index方法查找相应元素的对应的下标

    列表合并:用+号将两个列表的内容加起来,原列表的值没有变,会成为一个新的列表

                 Extend()把一个列表里的值加到另一个列表里,没有生成一个新的列表

    元素排序:sort()默认是升续,指定指定reverse=True就是降序

    元素数统计:count()查看一个元素在列表里的次数

    1.列表的定义

      变量名=[元素,元素,元素…]

    2.列表取值 --同字符串取值一样

      下标取值的格式:

      变量名[X]   X为第几个元素

      变量名[X:Y] X为从第几个元素开始,Y为从第几个元素结束

      变量名[-1] 取最后一个元素

    names=[1,2,3,'MLing','zhang']
    print(names[3])
    print(names[0:4])

      返回结果:

      MLing

      [1, 2, 3, 'MLing']

    3.列表循环—同字符串取值一样

    names=[1,2,3,'MLing','zhang']
    for i in names:
        print (i)

      返回结果:

      1

      2

      3

      MLing

      zhang

     4.修改列表中的值

    因为列表是可变的变量,所以可通过下边修改列表中的值,如下:

    names=[1,2,3,'MLing','zhang']
    names[3]='YLing'
    print (names)

    返回结果:

    [1, 2, 3, 'YLing', 'zhang']

    5.增加列表中的元素

    1) append()方法给列表从最末尾添加值

    names=[1,2,3,'MLing']
    names.append('liujia')
    print (names)

    返回结果:

    [1, 2, 3, 'MLing', 'liujia']

    2) insert()指定位置添加元素

    names=[1,2,3,'MLing']
    names.insert(0,'li')
    print (names)

    返回结果:

    ['li', 1, 2, 3, 'MLing']

     如果输入的下标不存在,会在最后一个位置插入
    names.insert(100,'li')

    返回结果:

    [ 1, 2, 3, 'li']

    6.删除列表中的元素

    1) pop()方法默认删除最后一个元素,也可以传值,删除指定的元素

    不指定:

    names=[1,2,3,'MLing']
    names.pop()
    print (names)

    返回结果:

    [1, 2, 3]

    指定:

    names=[1,2,3,'MLing']
    names.pop(1) #删除第二个元素
    print (names)

    返回结果:

    [1, 3, 'MLing']

    2) clear()清空列表所有元素

    names=[1,2,3,'MLing']
    names.clear()
    print (names)

    返回结果:

    []

    3) del 变量名[下标]删除指定位置的元素

    names=[1,2,3,'MLing']
    del names[1]
    print (names)

    返回结果:

    [1, 3, 'MLing']

    注意del和pop的区别是:pop可以不指定列表的下标默认删除最末尾的元素,也可以指定下标,删除具体的值,可del是只可以进行指定删除的,当不指定的时候,会报错的,del也可以直接删除变量或者列表

    del和pop的相同点是:传的下标一定是存在的,如果不存在的话,是都会报错的 

    4) remove(元素)删除列表中的元素

    names=[1,2,3,'MLing']
    names.remove(2)
    names.remove('MLing')
    print (names)

    返回结果:

    [1, 3]

    注意remove和pop的区别是:remove是直接输入要删除的元素,pop则是输入要删除的元素的下标,并且remove()中的内容不可为空,一次只能删除一个下标对应的元素,pop()可以为空,默认删除最末尾的元素

    注意在列表的操作函数中只有pop()是有返回值得,删除谁就会把谁给返回了,可以用一个变量来接收它

     7.count()查看一个元素在列表里的次数

    找不到的话不会报错,返回0,可以判断元素重复count()>0就是重复,当然也可以用in判断元素在不在列表里面

    names=[1,2,3,'MLing','MLing','MLing']
    i=names.count('MLing')
    print (i)

    返回结果:

    3

    8.index方法返回查找元素的下标

    如果有多个的话,返回第一个,没有的话会报错:

    格式为:indrx(元素,X,Y)

    元素为需要查找的元素

    X代码的是下标,表示从哪里开始找

    Y 代码的也是下标,表示从哪里结束

    names=[1,2,3,'MLing','MLing','MLing']
    print (names.index("MLing"))
    print (names.index("MLing",5)) #代表从第5个下标开始找
    print (names.index("MLing",3,5)) #代表从第3个下标开始找,到第5个下标结束
    # print (names.index("MLing",0,2)) 该范围内没有,执行的话会报错

    返回结果:

    3

    5

    3

    如果列表中有重复的元素,就会返回第一个查到的元素的下标

    9.两个列表可以合并

    1)     用+号将两个列表的内容加起来,原列表的值没有变,会成为一个新的列表

    names=[1,2,3,'MLing']
    stus=['zhang','li']
    print("汇总:",stus+names)
    print("names:",names)
    print("stus:",stus)

    返回结果:

    汇总: ['zhang', 'li', 1, 2, 3, 'MLing']

    names: [1, 2, 3, 'MLing']

    stus: ['zhang', 'li']

    2)     Extend()把一个列表里的值加到另一个列表里,没有生成一个新的列表

    names=[1,2,3,'MLing']
    stus=['zhang','li']
    stus.extend(names)  #把names列表里的元素加到stus里
    print("汇总:",stus)
    print("names:",names)
    print("stus:",stus)

    返回结果:

    汇总: ['zhang', 'li', 1, 2, 3, 'MLing']

    names: [1, 2, 3, 'MLing']

    stus: ['zhang', 'li', 1, 2, 3, 'MLing']

     10.排序sort()

    默认是升续,指定指定reverse=True就是降序
    one=[1,22,234,4354,35345,765]
    one.sort()
    print("升序",one) #默认升续
    one.sort(reverse=True)
    print("降序",one) #降序排列

    返回结果:

    升序 [1, 22, 234, 765, 4354, 35345]
    降序 [35345, 4354, 765, 234, 22, 1]

    11.Revers方法反转列表中的数据:

    one=[1,22,234,4354,35345,765]
    print("降序",one.reverse())
    print(one)

    返回结果:

    降序 None

    [765, 35345, 4354, 234, 22, 1]

    注意one.reverse()返回None是因为这只是一个处理方法,只做排序,不做其他事,不进行存值得,需要单独去取值

     

  • 相关阅读:
    取2个日期间的天数
    C#代码与JAVASCRIPT函数的相互调用
    ASP.NET验证码(3种)
    VS2008自带SQL 2005如何使用
    文本框默认有一个值,然后鼠标点上去那个值就清空
    远程桌面连接会话超时或者被限制改组策略也没用的时候就这么解决
    关于CComboBox的使用,编辑项的文字
    vc 剪切板 unicode
    Linux 防火墙、SELinux 的开启和关闭
    MSSQLSERVER服务不能启动
  • 原文地址:https://www.cnblogs.com/MLing/p/6916109.html
Copyright © 2020-2023  润新知