【Python】基础知识(列表,元组)

news2024/11/19 21:19:40

目录

  • 列表和元组
    • 列表
      • 创建列表
      • 访问下标
      • 切片操作
      • 遍历列表元素
      • 新增元素
      • 查找元素
      • 删除元素
      • 连接列表
    • 元组

写在前面🍎:码字不易,如果对你有帮助的话,给个三连或者关注一下吧🍰,感谢支持!📣

列表和元组

在Python中列表和元组可以用一个变量来表示很多个数据
元组和列表相比, 是非常相似的, 只是列表中放哪些元素可以修改调整, 元组中放的元素是创建元组的时候就设定好的, 不能修改调整

列表

创建列表

创建列表主要有两种方式, [ ] 表示一个空的列表

第一种:直接使用字面值来创建
在这里插入图片描述
第二种:使用 list( )来创建
在这里插入图片描述

可以在创建列表的时候,在[ ]中指定列表的初始值
可以直接使用 print 来打印 list 中的元素内容在这里插入图片描述

可以在同一个列表里放不同类型的变量
在这里插入图片描述

访问下标

通过下标访问的方式来获取到列表中的元素
我们把 [ ] 中填写的数字, 称为下标或者索引,[ ]是下标访问操作符
注意: 下标是从 0 开始计数的
在这里插入图片描述

使用下标来修改列表元素
在这里插入图片描述

超出下标有效范围,就会出现异常
在这里插入图片描述

可以使用内建函数len来获取列表的长度(元素个数),和字符串相似,因为下标是从 0 开始的, 因此下标的有效范围是 [0, 列表长度 - 1],使用 len 函数可以获取到列表的元素个数,len可以传字符串,列表,元组,字典,自定义的类
在这里插入图片描述

python中的下标还可以写成负数,下标可以取负数,表示 “倒数第几个元素”
在这里插入图片描述

切片操作

通过下标操作是一次取出里面第一个元素
通过切片, 则是一次取出一组连续的元素, 相当于得到一个子列表

使用 [ : ] 的方式进行切片操作
在这里插入图片描述注意:这里只打印4,5是因为前闭后开,[1:3]相当于区间[1,3),这里[ ]中的数字指的是下标

使用切片的时候,可以省略前后边界
在这里插入图片描述

切片操作还可以指定 “步长” , 也就是 “每访问一个元素后, 下标自增几步”
在这里插入图片描述

切片操作指定的步长还可以是负数, 此时是从后往前进行取元素. 表示 “每访问一个元素之后, 下标自减几步”
在这里插入图片描述
从以上的例子可以看出,当切片中的范围超出有效下标后,不会出现异常,而是尽可能的把符合要求的元素给获取到

切片操作是一个比较高效的操作,进行切片的时候,只是取出了原有列表中的一部分,并不涉及到"数据的拷贝"

遍历列表元素

遍历就是把一个列表(可替换成元组,字典等等)里面的每个元素,都依次的取出来,再分别进行处理
遍历搭配循环使用

1.使用 for 循环来遍历
在这里插入图片描述

2.使用 for 循环遍历,通过下标的方式
在这里插入图片描述

使用 while 循环. 手动控制下标的变化
在这里插入图片描述

新增元素

使用 append 方法, 向列表末尾插入一个元素(尾插)
在这里插入图片描述
注意:
此处的append 是搭配该列表对象a来一起使用的,而不是作为一个独立的函数,要搭配对象来使用的函数也叫做"方法"

使用 insert 方法, 向任意位置插入一个元素
insert 第一个参数表示要插入元素的下标在这里插入图片描述

查找元素

使用 in 操作符, 判定元素是否在列表中存在. 返回值是布尔类型
在这里插入图片描述

使用 index 方法, 查找元素在列表中的下标. 返回值是一个整数. 如果元素不存在, 则会抛出异常
在这里插入图片描述

删除元素

使用 pop 方法删除最末尾元素
在这里插入图片描述

使用pop还能删除任意位置的元素,pop的参数可以传一个下标过去
在这里插入图片描述

使用 remove 方法, 按照删除元素
在这里插入图片描述

连接列表

使用 + 能够把两个列表拼接在一起
在这里插入图片描述注:此处的 + 结果会生成一个新的列表. 而不会影响到旧列表的内容

使用 extend 方法, 相当于把一个列表拼接到另一个列表的后面
在这里插入图片描述注:a.extend(b) , 是把 b 中的内容拼接到 a 的末尾. 不会修改 b, 但是会修改 a
在这里插入图片描述
None:这是一个特殊的变量的值,表示什么都没有
因为extend方法其实是没有返回值的,拿一个变量来接收返回值的方法,返回的就是None

使用+=来进行拼接
在这里插入图片描述

a+=b多了三步操作:
1.多创造了一个新的列表的操作
2.多了把大的列表的值赋值给a
3.多了把a的旧值释放的操作

+=和extend拼接的区别:
a+=b等价于a = a+b,产生了一个新的列表a
a.extend(b)则是直接把b的内容拼接到a的后面

元组

元组的功能和列表相比, 基本是一致的
元组不能修改里面的元素, 列表则可以修改里面的元素
因此, 像读操作,比如访问下标, 切片, 遍历, in, index, + 等, 元组也是一样支持的
但是, 像写操作, 比如修改元素, 新增元素, 删除元素, extend 等, 元组则不能支持

元组使用 ( ) 来表示
在这里插入图片描述

创建元组的时候,指定初始值
在这里插入图片描述

元组中的元素也可以是任意类型的
在这里插入图片描述

通过下标来访问元组中的元素,下标也是从0开始到len减1结束
在这里插入图片描述

通过切片来获取元组中的一部分
在这里插入图片描述

与列表一样,同样可以使用for循环等来进行遍历元素,可以使用in来判定元素是否存在,使用index查找元素的下标,使用+来拼接两个元组

元组只是支持"读"操作,不支持"修改"类的操作
在这里插入图片描述
在这里插入图片描述

元组在 Python 中很多时候是默认的集合类型. 例如, 当一个函数返回多个值的时候在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作手册(GB8567——88)基于协同的在线表格forture-sheet

操作手册(GB8567——88) 1引言 1.1编写目的 为了帮助用户更好的上手本系统,加快用户对forture-sheet在线表格的快速入门,本操作手册详细介绍使用forture-sheet的部分基础操作以及注意细节。 1.2前景 待开发系统的名称&#x…

Docker+Jenkins+Gitee+Maven构建后台jar包后通过命令备份、替换、重启docker-compose编排的java服务

场景 docker-compose入门以及部署SpringBootVueRedisMysql(前后端分离项目)以若依前后端分离版为例: docker-compose入门以及部署SpringBootVueRedisMysql(前后端分离项目)以若依前后端分离版为例_霸道流氓气质的博客-CSDN博客 在上面使用docker-compose编排的ja…

Keil uVision5软件的操作与编写基础(入门)

目录 👬一、如何新建一个空白文档 👬二、程序编写 👬三、编译程序 Keil uVision5是一款编写单片机程序的必备软件。其图标为: 一、如何新建一个空白文档 1.打开Keil uVision5,将会出现工作界面。如图所示:…

Android .obb 详解

1.简介 在Android APP Bundle(aab)之前,上架Google Play 项目都是打包成APK上传,但是Google 对 APK大小是有限制的,刚开始是50M,后来扩展到100M,但是有些APK资源比较多,可能会大于100M, 基于这种情况,Google 允许上传…

音频怎么转换成文字?推荐这几个转文字的方法给你

在平时的工作中大家通常会先利用录音工具将会议内容录制下来,结束以后再根据录音来整理会议纪要,但一边听音频一边整理的操作既麻烦又费时间,还有可能会因为讲述的人语速快,而漏掉一些内容,从而导致效率不高&#xff0…

上海、广州、北京德国签证申请中心即将重新启动

德国签证中心关闭2年后,近日传来了好消息,上海、广州、北京德国签证申请中心即将重新启动,知识人网小编根据德国驻华领馆公布的信息整理并解读相关签证情况。 目前中国公民办理赴德签证,可以通过两种方式进行申请: 1.…

算法学习指南:什么是算法?

解释算法的实现逻辑就像讲故事一样。算法会在普通的解决方案中引入新颖的思路或进行某种创新。在本文中,我们将讨论一个简单问题的几个解决方案,解释影响算法性能的一些因素。在这个过程中,我将介绍一些用于分析算法性能的技巧。这些技巧与算…

Spring data JPA--02

Spring data JPA spirng data jpa是spring提供的一套简化JPA开发的框架,按照约定好的规则进行**【方法命名】去写dao层接口,就可以在不写接口实现的情况下,实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能,如分页、…

Kubectl 使用详解——k8s陈述式资源管理

目录 一、kubectl 简介 二、kubectl 的使用 1.基础用法 (1)配置kubectl自动补全 (2)查看版本信息 (3)查看资源对象信息 (4)查看集群信息 (5)查看日…

刷爆力扣之 Z 字形变换

刷爆力扣之 Z 字形变换 HELLO,各位看官大大好,我是阿呆 🙈🙈🙈 今天阿呆继续记录下力扣刷题过程,收录在专栏算法中 😜😜😜 该专栏按照不同类别标签进行刷题&#xff0c…

为什么我建议线上高并发量的代码,一定要注意数据可能会不一致?

V-xin:ruyuan0330 获得600页原创精品文章汇总PDF 目录 前情提示什么是数据一致性?一个数据计算链路的梳理数据计算链路的bug电商库存数据的不一致问题大型系统的数据不一致排查有多困难 一、前情提示 这篇文章,咱们继续来聊聊之前的亿级流…

06-Redis缓存设计与性能优化

多级缓存架构 缓存设计 缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失…

基于多级适应方法的无人机(UAV)在发动机输出情况下的导航和路径规划(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【SwinTransformer】GitHub源码,main.py,swin_transformer.py...

声明:仅学习使用~ “我们抬头便看到星光,星星却穿越了万年”。 Contents 数据与环境配置解读main.pyswin_transformer.py数据与环境配置解读 来看 SwinTransformer 的github官网。已经开源了。(想不到在家里居然可以直接上GItHub,真好啊!) 进去后可以看到如下界面: I…

Windows tensorflow、keras虚拟环境搭建记录(使用conda和mamba)

Windows tensorflow、keras虚拟环境搭建记录 过程记录 首先创建虚拟环境 注意如果之前把conda镜像源配置到了国内,那这一步就不要挂梯子,否则会报出这种错误 conda create --name TF python3.5.2TF那里是给虚拟环境取个名字python后面指定版本号&#x…

103.(leaflet之家)leaflet态势标绘-聚集地绘制

地图之家总目录(订阅之前请先查看该博客) 地图之家:cesium+leaflet+echart+地图数据+地图工具等相关内容的介绍 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 效果如下所示: 下面献上完整代码,代码重要位置会做相应解释 <!DOCTYPE html>…

一文带你看透空气质量

空气质量的好坏反映了空气污染程度&#xff0c;它是依据空气中污染物浓度的高低来判断的。空气污染是一个复杂的现象&#xff0c;在特定时间和地点空气污染物浓度受到许多因素影响。来自固定和流动污染源的人为污染物排放大小是影响空气质量的最主要因素之一&#xff0c;其中包…

【MySQL入门实战3】-存储引擎

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&#x1f61…

【K8S系列】第十三讲:Ingress详解

目录 序言 1.Ingress基本介绍 1.1 暴露服务问题 1.2 什么是Ingress 1.2 Ingress的核心组件 1.2.1 ingress 1.2.2 ingress-controller 1.2.3 反向代理负载均衡器 2.安装 2.1 下载/修改配置文件 2.2 安装资源 2.3 结果 2.4 项目示例 2.4.1 创建service及deploymen…

博德宝闪耀回归,九牧国际化提速

文|螳螂观察 作者|陈小江 怎样让厨房变得更好&#xff1f; 这是德国百年奢华橱柜品牌博德宝1892年创立之初&#xff0c;就在思考的问题&#xff0c;也是其品牌主张。 130年来&#xff0c;关于该问题的答案&#xff0c;随着博德宝不断创新在时刻刷新&#xff0c;并在全球引领…