• Python学习杂记_5_列表常用操作


    列表操作

    列表时用方括号括起来的一组元素值,是可变变量,可通过下表取值,也可以通过下表来修改值,列表中的元素是有序的,可以是不同的基本数据类型,如:

    names=[1, 2, 3, “abc”, “def”]

    列表取值时,下标也是从0开始,最大下标是元素个数减1,即len(names)-1

    列表操作的常用方法:

    增:

    names.append('zhaocunlei')            #从末尾追加元素

    names.insert(0,'yinwenqiao')          #指定位置添加元素

    删:

    names.pop()  #删除列表末尾元素,删谁也把它的值返回了,可用变量接收、用print查看

    names.pop(2) #删除指定位置的元素,传参为列表元素下标

    names.remove('yinwenqiao')  #删除指定值,传参是列表的一个元素值,不能空参

    #该方法不返回被删除的元素值,用print查看返回为None

    # print('remove 方法的返回值',names.remove('yinwenqiao'))

    # del names[0]  #使用del关键字删除指定元素

    # names.clear()  #清空列表

    查:

    print(names.count('hsdfsdf'))           #查找值在list里面的次数

    print(names.index('yinwenqiao'))

    #返回查找元素的下标,如果有多个话返回第一个的,如果没有的话就会报错

    print(names.index('yinwenqiao',3,4))  #后面可以加上查找开始位置和结束位置

    print('zhangyizhou' in names) #用in来判断一个元素是否在list里面,返回布尔值

    print(names[-3])                #下标是-1的话,代表最后一个元素

    改:

    stus = ['yangwb','yangwn','yanghj']

    print('加起来的',stus+names)         #两个列表合并,并返回新列表可用变量接收,原列表不变

    stus.extend(names)                  #把另一个列表里面的每个值挨个添加到前面的列表中,不返回值

    print(stus.extend(names)) # 结果是None

    print(stus) # 被增加后的样子

    nums = [23,34,21,2,456,35,12324324]

    nums.sort()               #排序,默认是升序,不返回值

    print('sort:',nums)

    nums.sort(reverse=True)                  #排序,指定reverse=True就是降序,不返回值

    print('sort降序:',nums)

    print(nums.reverse())   #倒序

    print(nums)

    以上都是单列表的一些基本操作,列表还有多维的,多维列表元素查找时不要慌,引用一样是用下标,注意维度要从外到内。

    lis = [1,'lily',19.8,['lily','lilei',['heheh','haha']]]

    print(lis[3][2][1])                # 结果为haha

    切片操作:

    切片的意思就是从list里面或者字符串里面取某个或某几个元素,切片操作对字符串也是完全适用的。

    name1 = 'zcl,pyzyz'
    names = ['zcl','py','zyz']

    print(names[0:2])    #从第几个取到第几个,这个也是顾头不顾尾,此例取的是第0个和第一个这俩元素
    print(names[:2])    #如果是从第一个开始取,取到某一个下标结束,那么最前面是可以不写的    
    print(names[1:])    #如果是从前面某个开始取,取到最后面结束,那么最后面是可以不写的
    print(names[:])      #如果最前面和最后面都不写的话,取整个列表

    nums = list(range(1,11))
    print(nums[1:10:2])  #如果最后面写上步长的话,就是每隔几个取一次,此例结果是 [2, 4, 6, 8, 10]
    print(nums[::2])    #此例结果是 [1, 3, 5, 7, 9]
    print(nums[::-2])     #当切片的步长为负数时,是从末尾开始取值的,然后隔几个取一次 [10, 8, 6, 4, 2]
    print(nums[::-1])     #如果步长为-1的时候,还有反转的功能 [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

  • 相关阅读:
    Linux修改主机名称
    Tachyon---基于内存的分布式存储系统
    机器学习中的基本数学知识
    Spark集群 + Akka + Kafka + Scala 开发(4) : 开发一个Kafka + Spark的应用
    Spark集群 + Akka + Kafka + Scala 开发(3) : 开发一个Akka + Spark的应用
    Spark集群 + Akka + Kafka + Scala 开发(2) : 开发一个Spark应用
    Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境
    JDBC常用驱动和语法汇总
    JDBC常用驱动和语法汇总
    request.getContextPath获取绝对路径
  • 原文地址:https://www.cnblogs.com/victory-0315/p/8617345.html
Copyright © 2020-2023  润新知