• Python--列表及其应用场景


    1.为什么需要列表

    思考:有一个人的姓名(laowang)怎么书写存储程序?

    用   变量。如:name = 'laowang'

    但是,如果要记录很多人的名字,怎么办?

    思考:

    如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序?声明100个变量吗?

    不可能一直写那么多,针对这种,Python设置用列表解决。列表一次可以存储多个数据。

    在Python中,这种数据类型称为列表。但是在其他的编程语言中,如Java、PHP、Go等等中其被称为数组。

    2.列表的定义

    列表序列名称 = [列表中的元素1, 列表中的元素2, 列表中的元素3, ...]

    列表序列名称也就是类似一个变量名

    那么像上面100个学生,可以这样:

    StudentsName = [‘小八’, ‘老王’, ‘老八’, …………, ‘小王’]

    案例:

    定义一个列表,用于保存苹果、香蕉以及菠萝

    代码:


    list1 = ['apple', 'banana', 'pineapple']
    # list列表类型支持直接打印
    print(list1)
    # 打印列表的数据类型-----type   查看数据类型
    print(type(list1))

    注意:列表可以一次存储多个数据且可以为不同的数据类型

    相关链接:Python的数据类型:Python中变量的数据类型-CSDN博客

    3、列表的相关操作

    列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:

    增、删、改、查。

    操作

    列表在计算机中的底层存储形式,列表和字符串一样,在计算机内存中都占用一段连续的内存地址,我们向访问列表中的每个元素,都可以通过"索引下标"的方式进行获取。

    如果想获取列表中的某个元素,非常简单,直接使用  索引下标

    代码:


    list1 = ['apple', 'banana', 'pineapple']
    # 获取列表中的banana---------索引从0开始,0   1   2  3  ………………
    print(list1[1])

    查   操作的相关方法:

    编号函数作用
    1index()指定数据所在位置的下标------in  dex   在哪里
    2count()统计指定数据在当前列表中出现的次数
    3in判断指定数据  在   某个列表序列,如果 在  返回True,否则  不存在   就返回False
    4not in判断指定数据  不在  某个列表序列,如果不在返回True,否则  不存在   返回False

    index  英 /ˈɪndeks/ 

    n. 索引;(物价和工资等)指数;指标,量度;幂,根指数;指针

    v. 为……编索引,将……编入索引;使指数化,将(工资)等与(物价水平等)挂钩;(机器,部件)转位

    count   英 /kaʊnt/   

    v. (按顺序)数数;计数,点数目;把……算入,包括;重要;被允许,被接受;看作,认为

    n. 计算,总数;数数;量的计数;(被指控的)罪状,事项;论点,观点;伯爵;(纱线的)支数

    案例:


    # 1、查找某个元素在列表中出现的位置(索引下标)----索引从0开始,0 1 2 3  ………………
    list1 = ['apple', 'banana', 'pineapple']
    print(list1.index('apple'))  # 0
    # print(list1.index('peach'))  # 报错
    
    # 2、count()方法:统计元素在列表中出现的次数
    list2 = ['刘备', '关羽', '张飞', '关羽', '赵云']
    # 统计一下关羽这个元素在列表中出现的次数
    print(list2.count('关羽'))
    
    # 3、in方法和not in方法(黑名单系统)-----如果 在  返回True,否则  不存在   就返回False
    list3 = ['192.168.1.15', '10.1.1.100', '172.35.46.128']
    if '10.1.1.100' in list3:
        print('黑名单IP,禁止访问')
    else:
        print('正常IP,访问站点信息')
    

    增  操作

    编号函数作用
    1append()增加指定数据到列表中
    2extend()列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
    3insert()指定位置新增数据
    append()

    append() :在列表的  尾部  追加元素

    append   英 /əˈpend/   v. <正式>附加,增补


    names = ['孙悟空', '唐僧', '猪八戒']
    # 在列表的尾部追加一个元素"沙僧"
    names.append('沙僧')
    # 打印列表
    print(names)

    注意:列表追加数据的时候,直接在原列表里面追加了指定数据,即修改了原列表,故列表为可变类型数据。

    extend()方法

    列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表

    序列 :包括    字符串、列表、元组、集合以及字典。

    extend  英 /ɪkˈstend/   v. 延伸;扩大,延长;持续;包括,波及;提供,表示;伸出;使竭尽全力;对……估价;继承(面向对象语言中的一种概念)

    案例:


    list1 = ['Tom', 'Rose', 'Jack']
    # 1、使用extend方法追加元素"Jennify"
    # names.extend("Jennify")
    # print(names)
    
    # 2、建议:使用extend方法两个列表进行合并
    list2 = ['Hack', 'Jennify']
    list1.extend(list2)
    
    print(list1)

    总结:extend方法比较   适合于  两个列表  进行元素的合并操作

    insert()方法

    insert  英 /ɪnˈsɜːt/   v. 插入,嵌入;(在文章中)添加

    作用:在指定的位置   增加元素------这个位置,是索引下标。


    names = ['薛宝钗', '林黛玉']
    # 在薛宝钗和林黛玉之间,插入一个新元素"贾宝玉",,,1是索引下标
    names.insert(1, '贾宝玉')
    print(names)

    删操作

    编号函数作用
    1del 列表[索引]删除列表中的某个元素
    2pop()删除指定下标的数据(默认为最后一个),并返回该数据
    3remove()移除列表中某个数据的第一个匹配项。
    4clear()清空列表,删除列表中的所有元素,返回空列表。
    del删除指定的列表元素------这个指定  是 位置,是索引下标。

    del   英 /del/   n. 删除文件;[数]倒三角形

    基本语法:


    names = ['Tom', 'Rose', 'Jack', 'Jennify']
    # 删除Rose
    del names[1]
    # 打印列表
    print(names)

    pop()方法

    pop  英 /pɒp/   爆出  

    作用:删除  指定下标的元素,如果不填写下标默认删除最后一个。其 返回结果:就是删除的这个元素


    names = ['貂蝉', '吕布', '董卓']
    del_name = names.pop()
    # 或
    # del_name = names.pop(1)
    print(del_name)
    print(names)

    remove()方法

    remove   英 /rɪˈmuːv/   vt. 移开,拿开;除去,废除;把……免职,开除;脱下,摘下;<史,南非> 依法迫迁;远离;不同于,迥异于;<旧> 搬家

    作用:删除匹配的元素


    fruit = ['apple', 'banana', 'pineapple']
    fruit.remove('banana')
    print(fruit)

    clear()方法

    clear   英 /klɪə(r)/   v. 清除,清理

    作用:清空列表


    names = ['貂蝉', '吕布', '董卓']
    # 随着故事的发展,人物都game over
    names.clear()
    # 打印列表
    print(names)


    注意:clear()括号中,不能给参数,否则报错。


    改操作

    编号函数作用
    1列表[索引] = 修改后的值修改列表中的某个元素
    2reverse()将数据序列进行   倒叙排列
    3sort()对列表序列进行   排序
    4copy()对列表序列进行   拷贝

    reverse   英 /rɪˈvɜːs/   v. 逆转,彻底改变(决定、政策、趋势等);撤销,推翻(法庭判决);颠倒,反转;

    sort  英 /sɔːt/   n. 种类,品种;某一种(或某一类)人;(计算机对信息的)分类,排序;<古>程度,方式

    copy   英 /ˈkɒpi/   v. 抄写,誊写;模仿,效法;作弊,抄袭;听见(或明白)无线电收发报机中讲话人的话;复制,拷贝

    代码:


    list1 = ['貂蝉', '大乔', '小乔', '八戒']
    # 修改列表中的元素
    list1[3] = '周瑜'
    print(list1)
    
    list2 = [1, 2, 3, 4, 5, 6]
    list2.reverse()    # 反转
    print(list2)
    
    list3 = [10, 50, 20, 30, 1]
    list3.sort()  # 升序(从小到大)
    # 或
    # list3.sort(reverse=True)  # 降序(从大到小)
    print(list3)
    
    list4 = list3.copy()    #  复制一遍
    print(list4)

  • 相关阅读:
    Apache-maven的安装与配置(IDEA)
    Go编程规范
    6_sleuth-zipkin-spring_boot_admin 链路追踪
    MyBatis Mapper如何实现一个映射器呢?
    基于关联规则的网络信息安全风险度量分析模型
    苍穹外卖day1--开发环境搭建
    mysql 查询某字段中以逗号分隔的字符串的方法
    thinkphp5.1 单元测试phpunit使用和常见问题
    day24-服务器端渲染技术02
    VS2022开发Arduino(90%转载10%原创)
  • 原文地址:https://blog.csdn.net/qq_42755734/article/details/134322349