当前位置: 首页 > news >正文

python--数据容器--列表

目录

1.python中的数据容器:

2.列表的定义

列表的下标索引

列表的查询功能 (方法)

修改列表的值

在指定位置插入元素

追加元素

追加一批元素

删除元素

删除某个元素在列表中的第一个匹配项

清空列表

统计某元素在列表内的数量

统计列表内有多少元素

 列表的遍历


1.python中的数据容器:

一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素。

每一个元素可以是任意的数据类型,如字符串、数字、布尔等。

数据容器很具特点的不同:

        是否支持重复元素

        是否可以修改

        是否有序,等

分为5类,分别是:

列表 list

元组 tuple

字符串 str

集合 set

字典 dict

2.列表的定义

基本语法:

#字面量
[元素1,元素2,元素3,元素4,...]

#定义变量
变量名称 = [元素1,元素2,元素3,元素4,...]

#定义空列表
变量名称 =  []
变量名称 = list()

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

        以 [ ]作为标识

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

my_list = ['itheima',666,True]

print(my_list)
print(type(my_list))

列表的下标索引

正向

从0开始 依次递增

 也可以反向索引。从后向前。从-1开始 依次递减(-1,-2,-3,-4....)

my_list = ['itheima',666,True]
print(my_list[-1])
print(my_list)
print(type(my_list))
#取出嵌套列表的元素
my_list1 = [[1,2,3],[1,2,3]]
print(my_list1[0][1])

列表的查询功能 (方法)

查找某元素的下标

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

语法:列表.index(元素)

index就是列表对象(变量)内置的方法(函数)


my_list2 = ["itcast","itheima","python"]
index =  my_list2.index("itcast")

print(f"itheima在列表中的下标索引值是:{index}")

修改列表的值

语法 列表[下标] = 值

在指定位置插入元素

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

追加元素

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

追加一批元素

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


my_list3 = [1,2,3]
my_list3.extend([4,5,6])
print(my_list3)

删除元素

语法1: del 列表 [下标]

my_list4 = ["it","heima","python"]
del my_list4[1]
print(my_list4)

语法2:列表.pop(下标)

my_list5 = ["it","heima","python"]
my_list5.pop(2)
print(my_list5)

删除某个元素在列表中的第一个匹配项

语法:列表.remove(元素)

my_list6 = ["it","heima","python"]
my_list6.remove("it")
print(my_list6)

清空列表

语法:列表.clear()

统计某元素在列表内的数量

语法:列表.count(元素)

my_list7 = ["it","heima","python"]
num = my_list7.count("it")
print(num)

统计列表内有多少元素

语法:len(列表)

可以返回一个int数字,表示列表内的元素数量

my_list8 = [1,2,3,4,5]
print(len(my_list8))

 

 列表的遍历

----- while 循环

如何遍历列表的元素----可以使用while循环

如何在循环中取出列表的元素---使用列表 [ ] 下标的方式取出

循环条件如何控制?

        定义一个变量表示下标,从0开始

        循环条件为下标值<列表的元素数量

index = 0 
while index < len(列表):
    元素 = 列表[index]
    对元素进行处理
    index += 1

----- for 循环

除了while 循环外,python 中患有另外一种循环形式: for 循环

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

语法:

for 临时变量 in 数据容器:

        对临时变量进行处理

表示,从容器内,依次去除元素并赋值到临时变量上

在每一次的循环中,我们可以对临时变量(元素)进行处理。

"""
    演示对list列表的循环,使用while 和 for 循环两种循环方式
"""


def list_while_func():
    """
    使用while 循环遍历列表的演示函数
    :return: None
    """
    my_list = ["it", "heima", "python"]

    # 循环控制变量通过下标索引来控制,默认0
    # 每一次循环将下标索引变量+1
    # 循环条件:下标索引变量 < 列表的元素数量

    # 定义一个变量用来标记列表的下标

    index = 0  # 初始值为0
    while index < len(my_list):
        # 通过index 变量取出对应下标的元素
        element = my_list[index]
        print(f"列表的元素:{element}")

        # 至关重要将循环变量 index每次循环后+ 1
        index += 1


def list_for_func():
    """
    使用for循环遍历列表的演示函数
    :return: None
    """
    my_list = [1,2,3,4,5]
    # for 临时变量 in 数据容器:
    for element in my_list:
        print(f"列表的元素有:{element}")

print("list")
list_while_func();
print("for")
list_for_func();

while 循环与for循环的对比:

        while循环和for循环都是循环语句,但是细节不同:

        在循环控制上:

                while循环可以自定循环条件,并自行控制

                for循环不可以自定循环条件,只可以一个个从容器内取出数据

        在无限循环上:

                while循环可以通过条件控制做到无限循环

                for循环理论上不可以,因为被遍历的容器容量不是无限的

        在使用场景上:

                while循环适用于任何想要循环的场景

                for循环适用于,遍历数据容器的场景或简单的固定次数循环场景

相关文章:

  • Roson的Qt之旅 #119 QNetworkAddressEntry详细介绍
  • Mybatis -- 使用
  • C语言双链表,循环链表,静态链表讲解(王道版)
  • 比较zab、paxos和raft的算法的异同
  • Python Argparse 库讲解特别好的
  • C++~从编译链接的过程看为什么C++支持重载?externC有什么用?
  • App移动端测试【10】Monkey自定义脚本案例
  • springboot 整合dubbo3开发rest应用
  • 【机器学习】集成学习:使用scikitLearn中的BaggingClassifier实现bagging和pasting策略
  • 算法与数据结构 --- 串,数组和广义表 --- 串
  • 【Python Web】Flask框架(四)Bootstrap的使用及案例
  • MySQL------数据表的创建和简单、条件,模糊查询
  • 【arduino】I/O端口操作
  • 微服务项目:尚融宝(44)(核心业务流程:借款申请(1))
  • 11、Java——吃货联盟订餐系统(对象+数组)
  • 【React系列】如何构建React应用程序
  • 【刷算法】求1+2+3+...+n
  • 10个确保微服务与容器安全的最佳实践
  • Babel配置的不完全指南
  • canvas 绘制双线技巧
  • CSS实用技巧
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • fetch 从初识到应用
  • Hibernate最全面试题
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • java第三方包学习之lombok
  • java中的hashCode
  • leetcode46 Permutation 排列组合
  • MySQL数据库运维之数据恢复
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • spring学习第二天
  • Travix是如何部署应用程序到Kubernetes上的
  • 成为一名优秀的Developer的书单
  • 容器服务kubernetes弹性伸缩高级用法
  • 如何利用MongoDB打造TOP榜小程序
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 双管齐下,VMware的容器新战略
  • 1.Ext JS 建立web开发工程
  • #laravel 通过手动安装依赖PHPExcel#
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • $.ajax()方法详解
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (02)vite环境变量配置
  • (16)Reactor的测试——响应式Spring的道法术器
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (超详细)语音信号处理之特征提取
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (六)激光线扫描-三维重建
  • ./和../以及/和~之间的区别
  • .NET 8.0 中有哪些新的变化?
  • .NET CLR基本术语
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库