zoukankan      html  css  js  c++  java
  • python 基础之列表的操作和列表的相关函数

    一.列表的相关操作

    1.列表的拼接

    list1 = [1,2]
    list2 = [3,4]
    listvar = list1 + list2
    print(listvar)

    2.列表的重复

    lst = [1,2,3]
    listvar = lst * 3
    print(listvar)

    3.列表的切片

    语法 =>列表[::] 完整格式: [开始索引:结束索引:间隔值]
        (1)[开始索引:] 从开始索引截取到列表的最后
        (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
        (3)[开始索引:结束索引] 从开始截取到结束索引之前(结束索引-1)
        (4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
        (5)[:][::]  截取所有列表

    (1)[开始索引:] 从开头截取到列表的最后

    listvar = ["one","two","three","four","five","six","seven","eight","nine","ten"]
    res = listvar[3:]
    print(res)

    (2)[:结束索引从开头截取到结束之前(结束索引-1)

    res = listvar[:4]
    print(res)

    (3)[开始索引:结束索引从开始索引截取到结束索引之前(结束索引-1)

    res = listvar[::2]
    print(res)

    (4)[开始索引:结束索引:间隔值从开始索引截取到结束索引之前按照指定的间隔截取列表值

    res = listvar[::2]
    print(res)

    #输出:['two', 'five']
    res = listvar[1:-4:3]
    print(res)

    #-1 -2 -3 -4 -5...
    res = listvar[::-1]
    print(res)

    (5)[:][::]

    res = listvar[:]
    print(res)

    4.列表的获取 (同元组)

    #          0       1       2        3    正向索引
    list = ["one","two","three","four"]
    #           -4    -3        -2      -1  逆向索引
    res = listvar[-1]
    print(res)
    res = listvar[2]
    print(res)

    5.列表的修改 (可切片)

    (1)通过索引元素修改值

    listvar = ["one","two","three","four"]
    listvar[1] = "five"
    print(listvar)

    #得到:['one', 'five', 'three', 'four']

    (2)通过切片批量修改的

    修改的时候注意:如果切割出来元素比要替换的元素少,依然可以将想要增加的元素插入到列表中,并将原来位置的元素向后推

    list = ["one","two","three","four"]
    list[:2] = ["five","six",'seven',"eight"]
    print(list)

    #结果为:["five","six",'seven',"eight"]

    #效果是onetwo ["five","six",'seven',"eight"]替换,["five","six",'seven',"eight"]

    中的元素一个个插入,然后将three four往后推.

    #在列表切片修改的时候,右侧的值需要iterable(可迭代性数据=>容器类型数据 range对象 迭代器)

    listvar = ["one","two","three","four"]
    listvar[::2] = range(2)  #range(2) 0 1 2 2取不到
    print(listvar)
    #效果:[0, 'two', 1, 'four']

    #注意这个所替换的数据要和列表可替换数据对应该,比如要替换2个元素,那么列表需要刚好满足能替换2个元素才能成立,否则会报错

     

    #如下报错的例子:

    listvar = ["one","two","three","four","five"]
    listvar[::2] = range(2)  #range(2) 0 1 2 2取不到
    print(listvar)

    #ValueError: attempt to assign sequence of size 2 to extended slice of size 3

     

    (6)列表的删除 (可切片)

    #1:

    listvar = ["one","two","three","four"]

    #使用del 关键字,实现删除操作
    del listvar[0]
    print(listvar)

    #得出结果:['two', 'three', 'four']  one元素被删除

    '''
    a = 5
    print(a)
    del a
    print(a)
    '''

    #2:(删除切割得到的元素)
    listvar = ["one","two","three","four"]
    del listvar[::2]  #2为步长
    print(listvar)

    #结果为:['two', 'four']  

     

    #3:

    listvar = ["one","two","three","four"]
    del listvar[1:3]
    print(listvar)

    #结果:['one', 'four']

    #切记注意

    listvar = ["one","two","three","four"]
    res = listvar[1:3]
    del res #error 不能直接删除列表中的元素,而是删除的res的变量
    #del listvar[1:3]

    print(listvar)

    #得到的结果:['one', 'two', 'three', 'four'] 这样的结果就是没有改变列表,而仅仅是删除了res变量.

    二.列表的相关函数

    从 (增删改查)来进行分析:

    1.增加的操作 append insert extend

    #(1) append
    功能:向列表的末尾添加新的元素
    格式:列表.append()
    返回值:None
    注意:新添加的值在列表的末尾,该函数直接操作原有列表
    #:
    listvar = ["one","two","three","four"]

    listvar.append("five")
    print(listvar)

    #结果为:['one', 'two', 'three', 'four', 'five']

    #(2) insert
    功能:在指定索引之前插入元素
    格式:列表.insert(索引,)
    返回值:None
    注意:直接改变原有列表
    #:
    listvar = ["one","two","three","four"]
    listvar.insert(1,"five")
    print(listvar)

    #结果是:['one', 'five', 'two', 'three', 'four']  索引为1 ,索引在原来two的位置插入一个元素,并将别的数据往后移动

    #(3) extend
    功能: 迭代追加所有元素
    格式:列表.extend(可迭代性数据)
    返回值:None
    注意:至二级改变原有列表


    #1:(如果是字符串一个字符当一个元素插入列表中)
    listvar =  ["one","two","three","four"]
    listvar.extend("abc")
    print(listvar)

    #结果为:['one', 'two', 'three', 'four', 'a', 'b', 'c']

     

    #2:(里面是元组将元组中的元素一个个插入列表中)

    listvar = ["one","two","three","four"]
    listvar.extend(("five","six","seven"))
    print(listvar)

    #结果:['one', 'two', 'three', 'four', 'five', 'six', 'seven']

    #必须是容器类型数据,123不是容器类型数据,所以会出错
    #listvar.extend(123) #error

    2.删除操作 pop remove clear

    #(1)pop
    功能: 通过执行索引删除元素,若没有索引移除最后那个
    格式: 列表.pop(索引)
    返回值: 删除的元素
    (注意: 没有指定索引,默认移除最后一个元素)
    #1:(没有指定索引,默认移除最后一个元素)
    listvar = ["one","two","three","four"]
    res = listvar.pop()
    print(res)  #输出删除的元素
    print(listvar) #列表被改为

    #最后一个输出的结果是:['one', 'two', 'three'] 原来列表的four被删除

    #2:
    #如果指定索引,那么删除索引下标对应的那个值,如果不指定,默认删除最后一个
    listvar = ["one","two","three","four"]

    res = listvar.pop(0)
    print(listvar)

    #结果为删除第一个元素得:['two', 'three', 'four']

    #(2)remove
    功能:通过给予的值来删除,如果多个相同元素,默认删除第一个
    格式:列表.remove()
    返回值:
    (注意:如果有索引的情况推荐使用pop,效率高于remove)

    #:
    listvar = ["one","two","three","four"]
    res = listvar.remove("three")
    print(res)  #返回的结果是None
    print(listvar)

    #得到的结果:['one', 'two', 'four']



    # (3) clear
    功能:清空列表
    格式:列表.clear()
    返回值:空列表


    listvar = ["one","two","three","four"]

    listvar.clear()
    print(listvar)

    #输出空列表

    3.改 查 可以看列表的相关操作

    #其他方法
    #(1) index
    功能:获取某个值在列表中的索引
    格式:列表.index([,start][,end])# []表达参数可选项
    返回值: 找到返回索引(找不到报错)

    listvar = ["one","two","three","four","one","two",”one1”]
    res = listvar.index("one") 

    print(res) # 输出0,输出元素索引的位置
    # res = listvar.index("one1212") #error 不存在报错
    res = listvar.index("one",1) #从所以1的位置开始
    #listvar.find("one") 列表里面没有find 那是字符串的函数find
    #res = listvar.index("one",4,6) error 不存在 报错
    print(res)  #输出4

    #(2) count
    功能:计算某个元素出现的次数
    格式:列表.count()
    返回值:次数

    #:
    listvar = ["one","two","three","four","one","two",”one1”]
    res = listvar.count("one")
    print(res)

    #得到结果2,one出现的次数为2

    #(3)sort
    功能:列表排序(默认小到大排序)
    格式:列表.sort(reverse=Ture)
    返回值:None
    注意:直接更改原列表
    #1:

    listvar = [99,-3,26,78]
    listvar.sort()
    print(listvar)
    #让列表从大到小排序 reverse = Ture
    listvar.sort(reverse=True)
    print(listvar)

    #结果:[99, 78, 26, -3]

    #2:
    #如果是字母 默认按照ascii码表 从小到大排序
    listvar = ["boshi","onier","james","weide","adongni"]
    listvar.sort()
    print(listvar)
    结果:['adongni', 'boshi', 'james', 'onier', 'weide']
    #(7)reverse
    功能:列表反转操作
    格式:列表.reverse()
    返回值:None
    注意:直接更改原列表
    #:
    listvar = [99,-3,26,78]
    listvar.reverse()
    print(listvar)

    #结果:[78, 26, -3, 99]

  • 相关阅读:
    Vue3手册译稿
    Vue3手册译稿
    Vue3手册译稿
    Vue3手册译稿
    Vue3手册译稿
    Vue3手册译稿
    C# 多线程与异步的使用方法笔记
    PetaPoco 5.1.306 的生成模板加注释
    RichEditDocumentServer打印记录
    RichEditDocumentServer 打印份数
  • 原文地址:https://www.cnblogs.com/hszstudypy/p/10849409.html
Copyright © 2011-2022 走看看