python数据容器---list

news/2024/5/2 14:03:50/文章来源:https://blog.csdn.net/zcffight/article/details/127196525

目录

1、列表的定义

1.1 基本语法

1.2 定义变量

1.3 定义空列表

2、列表的下标(索引)

 2.1 基本语法

2.1.1 正向查找

2.1.2 方向查找

2.1.3 嵌套列表

3、列表的常用操作

3.1 查找某元素的下标

3.2 修改特定索引的值

3.3 插入追加元素

3.4 删除元素

3.5 清空列表

3.6 统计列表某个数据出现的次数

3.7 统计列表全部的元素数量

3.8 总览

4、列表的循环遍历

4.1 列表的循环 - while循环

4.1.1 两个问题

4.1.2 基本语法思路

4.2 列表的循环 - for循环

4.2.1 基本语法

4.3 while循环和for循环的对比


1、列表的定义

1.1 基本语法

[ 元素1, 元素2, 元素3, 元素4, 元素5, ...]

1.2 定义变量

变量名称 = [ 元素1, 元素2, 元素3, 元素4, 元素5, ...]

1.3 定义空列表

变量名称 = [  ]

变量名称 = list( )

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

  • 以[ ]作为标识
  • 列表内每个元素之间用逗号隔开

注意:列表可以存储多个数据,可以是不同类型的,支持嵌套

2、列表的下标(索引)

从左向右:(正向)

从右向左:(反向)

 嵌套列表:

 2.1 基本语法

2.1.1 正向查找

# -*- coding: utf-8 -*-
name_list = ["tom","lily","rose"]
print(name_list[0]) # 结果 tom
print(name_list[1]) # 结果 lily
print(name_list[2]) # 结果 rose

2.1.2 方向查找

# -*- coding: utf-8 -*-
name_list = ["tom","lily","rose"]
print(name_list[-3]) # 结果 tom
print(name_list[-2]) # 结果 lily
print(name_list[-1]) # 结果 rose

2.1.3 嵌套列表

num_list = [[1,2,3,],[4,5,6]]
print(num_list[0][1])  # 结果 2
print(num_list[1][0])  # 结果 4

3、列表的常用操作

3.1 查找某元素的下标

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

语法:列表.index(元素)

例子:

name_list = ['张三','李四','王五']
# 1.取索引
index = name_list.index("李四")
print(f"李四在列表的下标索引值是:{index}")李四在列表的下标索引值是:1

3.2 修改特定索引的值

语法列表[下标] = 值

例子:

name_list = ['张三','李四','王五']
# 2. 修改数据
name_list[0] = '丽丽'
print(f"列表修改后,结果是:{name_list}")列表修改后,结果是:['丽丽', '李四', '王五']

3.3 插入追加元素

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

例子:

# 3. 增加数据
name_list.append("王小二") #append向列表末尾加数据
name_list.insert(1,'小妹妹') #insert 可以在列表指定位置插入数据
print(f"列表插入元素后,结果是:{name_list}")列表插入元素后,结果是:['丽丽', '小妹妹', '李四', '王五', '王小二']temp_list = ['孙悟空','猪八戒','唐僧']
name_list.extend(temp_list) #可以把其他列表内容,追加到列表末尾中
print(f"列表追加元素后,结果是:{name_list}")列表追加元素后,结果是:['丽丽', '小妹妹', '李四', '王五', '王小二', '孙悟空', '猪八戒', '唐僧']

3.4 删除元素

  • 语法1:del列表[下标]
  • 语法2:列表.pop(下标)
  • 语法3:列表.remove(元素)

例子:

语法1:

# 4. 删除数据
del name_list[2]
print(f"列表删除元素后,结果是:{name_list}")列表删除元素后,结果是:['丽丽', '小妹妹', '王五', '王小二', '孙悟空', '猪八戒', '唐僧']

语法2,3 

name_list.remove('王五') # 可以在列表中删除指定数据
pop1 = name_list.pop() # 默认情况下可以把列表中最后一个数据删除
pop2 = name_list.pop(3) # 可以指定索引删除
print(f"列表删除元素后,结果是:{name_list},取出元素是:{pop1},{pop2}")列表删除元素后,结果是:['丽丽', '小妹妹', '王小二', '猪八戒'],取出元素是:唐僧,孙悟空

3.5 清空列表

语法:列表.clear(元素)

例子:

# 5. 清空列表
name_list.clear() # 清空整个列表列表被清空了,结果是:[]

3.6 统计列表某个数据出现的次数

语法:列表.count(元素)

例子:

# 6. count统计列表某个数据出现的次数
name_list = ['张三','李四','王五']
count = name_list.count("张三")
print("张三出现了%d"%count 次)张三出现了1次

3.7 统计列表全部的元素数量

# 7. len统计列表元素的长度
list_len = len(name_list)
print('列表出现了%d个元素' % list_len )列表出现了3个元素

3.8 总览

4、列表的循环遍历

  • while循环
  • for循环

4.1 列表的循环 - while循环

4.1.1 两个问题

1. 如何在循环中取出列表的元素呢?

  • 使用列表[下标]的方法取出

2. 循环条件如何控制?

  • 定义一个变量表示下标,从0开始
  • 循环条件为 下标值 < 列表元素数量

4.1.2 基本语法思路

index = 0
while index < len(列表):元素 = 列表[index]index += 1

例子:

def list_while_func():mylist = ['张三','李四','王五']index = 0while index < len(mylist):element = mylist[index]print(f"列表的元素:{element}")index += 1
list_while_func()列表的元素:张三
列表的元素:李四
列表的元素:王五

4.2 列表的循环 - for循环

对比while,for循环更加适合对列表的遍历。

4.2.1 基本语法

for 临时变量 in 数据容器:

        对临时变量进行处理

例子:

def list_for_func():my_list = [1,2,3,4,5]for i in my_list:print(f"列表的元素:{i}")
list_for_func()列表的元素:1
列表的元素:2
列表的元素:3
列表的元素:4
列表的元素:5

4.3 while循环和for循环的对比

在循环控制上:

  • while循环可以自动循环条件,并自行控制。
  • for循环不可以自动循环条件,只可以一个个从容器内取出。

在使用场景上:

  • ​​​​​​​while循环适用于任何场景。
  • for循环适用于遍历数据容器的场景或固定次数场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_19842.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于java+jsp+ssm水果蔬菜销售系统

生活中,人们买水果或者蔬菜都是去菜市场买,因为那里是卖水果、蔬菜的聚集地。农商们把水果、蔬菜从远处运到那里,进行销售。但是这种销售方式的不足在于每次运输的数量是有限的,并且运输过程中也影响了水果、蔬菜的口感。随着生活节奏的加快,人们越来越注重高效的在线服务。在线…

让GPU跑的更快

作为一个cuda爱好者 一定要好好看看 不再让CPU和总线拖后腿&#xff1a;Exafunction让GPU跑的更快&#xff01;确实只用cpu会卡的一比... 在云服务中使用 GPU 是获得低延迟深度学习推理服务最经济的方式。使用 GPU 的主要瓶颈之一是通过 PCIe 总线在 CPU 和 GPU 内存之间复制…

关卡一: ajax

【学习前提】 完成前端开发基础和JavaScript基础学习 【阶段说明】 Ajax这个术语源自描述从基于 Web 的应用到基于数据的应用。 Ajax 不是一种新的编程语言&#xff0c;而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。 使用 JavaScript 向服务器提出请求并处理响…

有被惊艳到 复刻一个大型互联网项目有多简单?大型网约车项目实战+东宝商城(附项目白皮书+核心源码)

从上图可以看出&#xff0c;面试准备其实可以分为两个部分&#xff1a;第一个部分是日常工作中对自己负责项目的抽象、提效、数据化表达&#xff1b;不断反思如何用技术的手段提升业务价值&#xff0c;就是我们日常常说的技术为业务赋能&#xff1b;第二个部分才是决定面试后 &…

第八章 CSP 架构 - CSP 网关配置

文章目录第八章 CSP 架构 - CSP 网关配置CSP 网关配置CSP 网关管理器定义服务器访问定义应用程序访问CSP 网关参数第八章 CSP 架构 - CSP 网关配置 CSP 网关配置 CSP 网关是安装在 Web 服务器上并由其加载的 DLL 或共享库。 CSP 网关检测对扩展名为 .csp 或 .cls 的文件的任何…

ApplicationRunner和CommandLineRunner的作用和区别

一、作用 ApplicationRunner和CommandLineRunner都用于在容器启动后&#xff08;也就是SpringApplication.run()执行结束&#xff09;执行某些逻辑。 可用于项目的一些准备工作&#xff0c;比如加载配置文件&#xff0c;加载执行流&#xff0c;定时任务等 二、共同点和区别 …

nodejs+vue+elementui学生成绩管理系统python/php/java445

前台首页功能模块 学生成绩管理系统设计&#xff1b;主要实现首页、优秀教师、优秀班主任、学校简介、教学课件、公告信息、优秀学生、试卷列表、新闻资讯、我的、跳转到后台&#xff0c;功能。 优秀教师&#xff0c;在优秀教师页面可以填写标题、教师工号、荣誉等详细&#xf…

经典论文研读:《F1:A Distributed SQL Database That Scales》

一 简介 F1是Google提出的分布式关系型数据库&#xff0c;支持便捷的水平伸缩。这篇论文是NewSQL分布式数据库架构的基石。论文首先定义了F1分布式数据库设计的关键方向&#xff1a; 可伸缩性&#xff1a;数据库要提供对业务透明的水平扩展能力&#xff0c;并支持数据迁移、数…

全同态加密(FHE)体系概述

同态加密定义 假设有这样一个场景&#xff0c;用户有一组私密数据&#xff0c;被加密存储在了第三方的云平台&#xff0c;现在&#xff0c;该用户想对这组数据进行某种处理&#xff0c;但是处理过程和结果都不想让第三方云平台看到。当然&#xff0c;用户可以选择将数据下载下…

ITU-T G.781解读(一)

引言 本系列是作者在学习ITU-T时做学习笔记之用&#xff0c;ITU-T的标准库是一个非常庞大的系列&#xff0c;尽管网络上有许多对标准的解读&#xff0c;但作者认为要想系统的掌握一个系列的知识&#xff0c;还是要自己看一遍原汁原味的原文。 时钟同步准则 同步信息通过同步…

【操作系统】第三章:内存管理

第三章&#xff1a;内存管理 OVERVIEW第三章&#xff1a;内存管理一、内存管理1.内存管理内容&#xff08;1&#xff09;地址转换&#xff1a;Point1&#xff1a;程序装入Point2&#xff1a;程序链接&#xff08;2&#xff09;内存保护&#xff1a;&#xff08;3&#xff09;内…

Linux命令:netstat【监控TCP/IP网络,可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息】【TCP的11种状态】

netstat命令是一个监控TCP/IP网络的非常有用的工具&#xff0c;它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。 netstat [选项] 选项描述-a显示所有网络连接和监听的所有端口。-b显示创建每个连接或者监听商品的相关可执行程序。有时候有些已知的可执行…

参数传递和重定向

目录 1、参数传递 方法一 &#xff08;1&#xff09;修改路由配置, 主要是router下的index.js中的 path 属性中增加了 :id 这样的占位符 &#xff08;2&#xff09;视图层传递参数 &#xff08;3&#xff09;接收参数 &#xff08;4&#xff09;测试 方法二&#xff08;…

2022年中国研究生数学建模竞赛A题——移动场景超分辨定位问题

目录一、题目原文1、背景2、研究现状3、待解决的问题二、雷达基础知识三、解决方案一、题目原文 1、背景 在日常家庭生活中&#xff0c;人们可能需要花费大量时间去寻找随意摆放在家中某些角落里的小物品。但如果给某些重要物品贴上电路标签&#xff0c;再利用诸如扫地机器人…

IS-IS(v4)协议分析

IS-IS协议分析 基本概述 工作原理 基本配置 一、基本概述 IS-IS&#xff08;Intermediate System to Intermediate System&#xff0c;中间系统到中间系统&#xff09;是ISO &#xff08;International Organization for Standardization&#xff0c;国际标准化组织&#x…

BGP(边界网关)协议的介绍与配置

边界网关协议&#xff08;BGP&#xff09;是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议&#xff0c;也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其他的 BGP 系…

无法打开源文件opencv2

目录 一般有三种情况&#xff1a; 没有下载opencv&#xff1a; 配置环境变量&#xff1a; 属性配置&#xff1a; 一般有三种情况&#xff1a; 1、没有下载opencv的库 2、下载但是没有配置系统的环境变量 3、以上二者都已完成&#xff0c;但当前项目&#xff08;每一个新…

《Google软件工程》读书笔记

文章目录理论什么是软件工程时间与变化规模与效率权衡与成本软件工程 VS 编程文化如何更好地参与团队合作隐藏有害一切为了团队谷歌范儿知识共享学习的挑战知识共享的哲学设定基调&#xff1a;心理安全不断充实知识扩大提问渠道&#xff1a;向社区提问分享你的知识&#xff1a;…

青少年CTF-Web-Robots

题目信息题目名称:Robots 题目描述:昨天十三年社团讲课,讲了Robots.txt的作用,小刚上课没有认真听课正在着急,你能不能帮帮忙? 题目难度:一颗星 解题过程 访问题目链接浏览器里是空白的,题目名称是Robots,我们访问robots.txt看看。发现有个Disallow的f1ag_1n_the_h3re…

SpringSecurity学习笔记(九)RememberMe进阶

参考视频&#xff0c;编程不良人 前面我们介绍了rememberMe的实现原理&#xff0c;从中我们可以思考这样一个问题&#xff0c;如果我们的cookie被非法用户获取&#xff0c;然后携带这个cookie进行访问我们的项目中的内容&#xff0c;就会导致非法用户登录。这个问题怎么解决呢…