• Python_数据容器_列表list


    一、数据容器入门

    使用场景:批量存储、批量使用多份数据

    Python中的数据容器:

    一种可以容纳多份数据的数据类型,容纳的每一份数据称之为一个元素。每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。

    总结:

    1.什么是数据容器?

    一种可以存储多个元素的Python数据类型

    2.Python有哪些数据容器?

    list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)

    它们各有特点,但是都可以满足容纳多个元素的特性。

    二、数据容器之list(列表)

    1.list(列表)定义

     列表内的每一个数据,称之为元素

    • 以 [ ]作为标识

    • 列表内每一个元素之间,用逗号隔开

     元素的数据类型没有任何限制,元素也可以是列表-->嵌套列表

    1. # 定义一个列表list
    2. my_list = ["bear",12,'python']
    3. print(my_list)
    4. print(type(my_list))
    5. # 元素类型无限制
    6. my_list = ["bear",12,True]
    7. print(my_list)
    8. print(type(my_list))
    9. # 定义一个嵌套列表
    10. my_list = [["1",'2'],[12,32],True]
    11. print(my_list)
    12. print(type(my_list))

    2、列表list的下标索引

    能够使用列表的下标索引从列表中取出元素 列表[下标] --即可取出对应位置元素

    列表中的每一个元素都有其位置下标索引 ,从前向后的方向,从0开始依次递增。按照下标索引既可以取到对应位置的元素;也可以反向索引从后向前,从-1开始,依次递减(-1、-2、-3.....)

    对于嵌套列表也可以取出对应位置的元素,先取出外层列表的下标再取内层元素对应的下标

    1. # 通过下标索引来取出对应位置的数据 正向
    2. my_list = ['tom','lily','rose']
    3. print(my_list[0])
    4. print(my_list[1])
    5. print(my_list[2])
    6. # 错误示范-->通过索引下标取数据一定不能超出索引范围--否则会报错:IndexError: list index out of range
    7. # print(my_list[3])
    8. # 通过下标索引来取出对应位置的数据 反向
    9. print(my_list[-1])  # rose
    10. print(my_list[-2])  # lily
    11. print(my_list[-3])  # tom
    12. # 取出嵌套列表中的元素 先外后内
    13. my_list = [["1",'2'],[12,32],True]
    14. # 取出[12,32]中的32
    15. print(my_list[1][1])

    注意:下标索引的取值范围超出后无法取出元素并且会报错

    3、列表list的常用操作方法

    列表提供的功能:

    • 插入元素

    • 删除元素

    • 清空列表

    • 修改元素

    • 统计元素个数

    等功能,称之为列表的方法

    (1)列表的查询功能(方法)

    •    查找某元素的下标

           功能:查找指定元素在列表的下标如果找不到报错ValueError

           语法:列表.index(元素)  index就是列表对象(变量)内置的方法(函数)

    1. my_list = ['quen','king','diff','python']
    2. # 1.1查找某元素在列表中的下标索引
    3. index = my_list.index('diff')
    4. print(f"diff在列表中的下表索引值:{index}")
    5. # 1.2如果查找某元素在列表中的下标索引不存在,报错:ValueError: 'jiff' is not in list
    6. index = my_list.index('jiff')
    7. print(f"diff在列表中的下表索引值:{index}")

    (2)列表的修改功能(方法)

    • 修改特定位置的(索引)的元素值:

           语法:列表[下标] = 值

    1. # 2.修改特定下标索引的值
    2. my_list[1] = 'lydia'
    3. print(f"列表修改元素值后,结果是{my_list}")
    • 插入元素:

           语法:列表.insert(下标,元素)  ,在指定的下标位置,插入指定的元素

    1. my_list.insert(2,'sunrise')
    2. print(f"列表修改元素值后,结果是{my_list}")
    • 追加元素:方式1--追加单个元素

           语法:列表.append(元素)  ,将指定的元素,追加到列表的尾部

    1. my_list.append('tail')
    2. print(f"列表在尾部追加一个元素值后,结果是{my_list}")
    • 追加元素:方式2--追加多个元素

           语法:列表.extend(其他数据容器)  ,将其它数据容器的内容取出,依次追加到列表尾部

    1. my_list1 = ['1,2',True]
    2. my_list.extend(my_list1)
    3. print(f"列表追加一个新的列表(数据容器)值后,结果是{my_list}")
    • 删除元素:

           语法1:del列表[下标]  

           语法2:列表.pop(下标)   pop()本质是将指定下标的元素取出来然后返回出去 --即就是能得到返回值,同时也将元素从列表中移除掉了

    1. # 6.删除指定下标索引的元素 2种方式
    2. my_list = ['quen', 'lydia', 'diff', 'python']
    3. # 6.1方式1:del
    4. del my_list[2] # 删除'diff'
    5. print(f"列表删除元素后结果是:{my_list}")
    6. # 6.2方式2:列表.pop(下标) pop()本质是将指定下标的元素取出来然后返回出去 --即就是能得到返回值,同时也将元素从列表中移除掉了
    7. my_list = ['quen', 'lydia', 'diff', 'python']
    8. element = my_list.pop(2)
    9. print(f"通过pop方法取出的元素为{element},取出元素后列表为:{my_list}")
    • 删除某元素在列表中的第一个匹配项:

           语法:列表.remove(元素)    拿到传入的元素后从前到后搜索满足的第一个元素被删掉,且只能删掉一个

    1. # 7.删除某元素在列表中的第一个匹配项 语法 列表.remove(元素)
    2. my_list = ['quen', 'lydia', 'diff', 'python','diff','lydia']
    3. my_list.remove('diff')
    4. print(f"通过remove方法移除值为‘diff’的元素后,列表的结果是:{my_list}")
    • 清空列表内容:

           语法:列表.clear()  

    1. my_list.clear()
    2. print(f"列表被清空,结果是:{my_list}")
    • 统计某元素在列表内的数量:

           语法:列表.count(元素)

    1. # 9.统计列表内某元素的数量 语法:列表.count(元素)
    2. my_list = ['quen', 'lydia', 'diff', 'python','diff','lydia']
    3. count = my_list.count('lydia')
    4. print(f"列表中‘lydia'的数量为:{count}")
    • 统计列表内,有多少元素:

           语法:len(列表)

    1. # 10.统计列表内全部元素的数量  len(列表)
    2. my_list = ['quen', 'lydia', 'diff', 'python','diff','lydia']
    3. count = len(my_list)
    4. print(f"列表中元素的数量为:{count}")

    列表list的方法总览

    4、列表list的特点

    • 可以以容纳多个元素(上限为2**63-1)

    • 可以容纳不同类型的元素

    • 数据时有序存储的

    • 允许重复存在

    • 可以修改(增删改)

    5、列表的循环遍历/迭代

    1) 使用while遍历列表中元素

    2) 使用for遍历列表中元素 

    对比while,for循环更适合对列表等数据容器进行遍历

    语法:

    for 临时变量 in 数据容器:

        对临时变量进行处理

    while循环和for循环对比:

     

    --------------------------------------------------------------------------------------------------转载注明出处

    --------------------------------------------------------------------------------------------------#springbear#

  • 相关阅读:
    幼儿园的老师该怎么写论文呢?
    Java“牵手”阿里巴巴商品列表数据,关键词搜索阿里巴巴商品数据接口,阿里巴巴API申请指南
    c++构造函数
    【学习笔记】Understanding LSTM Networks
    MQTT 基础--MQTT 协议简介 :第 1 部分
    删除pip下载的所有第三方库,最快的方法,没有之一
    【大数据入门核心技术-Zookeeper】(五)ZooKeeper集群搭建
    操作系统之——调度算法
    Elasticsearch —索引性能技巧
    微信小程序开发者工具运行 uni-app 项目时报错 Uncaught (in promise) undefined
  • 原文地址:https://blog.csdn.net/springbear/article/details/128009106