zoukankan      html  css  js  c++  java
  • 列表

      

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

    增加: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是因为这只是一个处理方法,只做排序,不做其他事,不进行存值得,需要单独去取值

     

  • 相关阅读:
    Golden Tiger Claw (KM算法)
    Xor Sum题解>----(思维+递归)
    Mister B and PR Shifts(思维)
    Traffic Real Time Query System-(点双缩点+LCA)
    最大的位或----(极简代码)
    萌萌哒题解_倍增并查集
    连续攻击游戏(递增1)题解------(并查集)
    道路与航线 (连通块Dijkstra+拓扑序||spfa+slf优化)
    美团校招-表达式求值
    天猫前端电话面试
  • 原文地址:https://www.cnblogs.com/MLing/p/6916109.html
Copyright © 2011-2022 走看看