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

Python list 简单理解与使用

目录

list的简单理解

list的简单使用

insert

remove

修改某个元素

常用:栈结构

append

pop

是在list的末尾删除一个元素,如

什么是栈

list特性:切片

索引切片

负数索引

不显式声明数字的切片

带步长的切片

负数步长的切片


list的简单理解

list顾名思义,是一个列表,他在形式上

更接近数组的结构

list = [1,2,3,4,5]

事实上,与c或者java的数组

int list[5]; int[] list = new int[5];

每次都会强制指定一个数据类型(如int,double)不同的是,python的list并不会强制指定类型(甚至你可以同一个list使用不同的类型)如

list = [1,2,"hajimi",3.14]

还可以套娃,list里面再套list

list = [1,2,3,[1,2,3]]

多变的数据类型,这大概是python的list最显著的特点了(ArrayList做不到系列)

list的简单使用

首先看我们list最常用的几个函数

假设我们有一个list = [1,2,3,4,5]

我们对他进行增删改查的操作

insert

list.insert(1,78)

这个函数的字面意思是往索引1位置插入一个数字78(因为是插入,所以索引1之后的数字都向后移)

python的索引与c语言的索引是一致的,都是从0开始而不是从1开始,也就是说这个列表原本的索引和数字的对应关系是

索引 0 1 2 3 4 元素 1 2 3 4 5

索引1原本对应的是数字2,但是现在我们往索引1的位置插入了数字78,所以使用了这个函数之后我们的list的结构就变成了

索引 0 1 2 3 4 5 元素 1 78 2 3 4 5

[1,78,2,3,4,5]

remove

有了insert函数的基础,我们可以很容易使用remove函数来删除list中的指定元素

list.remove(1)

这个函数字面意思是删除索引位置为1的元素

现在索引位置为1的元素是78,也就是说我们的78被删了

现在的list就又变成了[1,2,3,4,5]

修改某个元素

这里list的使用和数组是一致的,如

list[1] = 91

字面意思就是说list中索引位置为1的元素被我们改成了91

现在list变成了[1,91,3,4,5]

常用:栈结构

此外list还有两个特别的新增和删除函数append和pop

append

是在list的末尾追加一个元素,如

list.append(8080)

之后我们的list现在就会变成[1,91,3,4,5,8080]

pop

是在list的末尾删除一个元素,如

list.pop()

之后我们的list就变成[1,91,3,4,5]

这两个操作非常类似我们的数据结构中的栈

什么是栈

栈是一种先入后出的线性结构。这个概念一听就好抽象,不过我们可以想象有一个盒子,我们往里面装书

看这张鄙人画的简陋的图,我们往这个盒子里放编号1,2,3,4的四本书,我们取出来的顺序只能是先取4,再取3,再取2,再取1,而放进去的顺序只能是先放1再放2再放3然后4,先放进去的1最后拿出来,这就是先入后出的数据结构,也就是栈结构

而list的这个append和pop也是这样,假如你只用这个append和pop函数

那么我们用list模拟放书和取书的步骤就是

list = [] list.append(1) list.append(2) list.append(3) list.append(4) list.pop() list.pop() list.pop() list.pop()

就是这样一个结构,也就是说这个list这两个函数用来模拟栈结构相当方便

其他函数

list特性:切片

你是否有过想把一个list只提取其中几个元素,没错,我们python为你提供了相当简单的list切割术

还是我们的list = [1,2,3,4,5]

语法是split_list = list[a:b]或者split_list = list[a:b:c]

索引切片

比如我们

new_list = list[1:4]

我们会得到一个[2,3,4]这个split_list = list[a:b]

这个a是开始索引,b是结束索引,这时细心的你会发现这个索引4部分的元素5好像没有被切到,没错,这就是我们python特意设计的左闭右开,左边的数字是可以取的,右边的数字是达不到的

也就是说1:4只能取索引1 2 3没有4

这个时候我们就可以看

负数索引

索引的负数表示倒数的意思

比如

split_list = list[-4:-2]

表示的是从倒数第四个到倒数第二个(依旧左闭右开区间)的切片

然后我们可以看

不显式声明数字的切片

比如

split_list = list[2:]

表示从索引二到最后一个元素切片

比如

split_list = list[:3]

表示从第一个元素开始到索引3(依旧左闭右开)切片

然后我们来看

带步长的切片

比如split_list = list[::2]表示步长为2的切片

比如list = [1,2,3,4,5]

这个split_list就是[1,3,5]

因为切片的步长为2

负数步长的切片

负数步长意味着倒着切片

比如

split_list = list[::-1]

依旧拿list=[1,2,3,4,5]举例

得到split_list为[5,4,3,2,1]

列表推导式

懒得写喵

http://www.jsqmd.com/news/768863/

相关文章:

  • CSS 文本折行笔记
  • 所有领域都适用的Testplan编写基础,附excel模版(适合1~3年验证工程师)
  • 2026年卢正浩产品排名,西湖龙井回甘持久吗 - 工业品牌热点
  • 【圆计算】信息学奥赛一本通C语言解法(题号1014)
  • 2026年MR框架对事件相机支持前瞻
  • 避坑指南:网易云音乐人自动化任务那些事儿——从申请到配置的完整心路
  • 2026年阿里云Hermes Agent/OpenClaw环境配置教程,百炼token Plan配置详解
  • 别再死记硬背SPI时序了!用STM32标准库驱动W25Q64,我画了张图让你秒懂四种模式
  • Taotoken的APIKey管理与审计日志功能如何满足企业安全合规要求
  • Smara框架解析:轻量级全栈Web开发的模块化实践
  • 网络安全情报MCP服务器:AI驱动的自动化威胁分析工作流
  • 终端AI助手oterm:Rust构建的CLI工具,无缝集成OpenAI提升开发效率
  • 中国戏曲学院考研辅导班机构选择:排行榜单与哪家好评测 - michalwang
  • csp信奥赛C++高频考点专项训练之字符串 --【字符统计】:密码合规
  • 2026年浙茶集团狮峰龙井茶门店费用怎么收 - myqiye
  • 如何高效管理数字阅读:番茄小说下载器完整指南
  • 掌握西门子PLC通信:S7.NET+库完全指南 [特殊字符]
  • MelonLoader完整指南:Unity游戏模组开发者的终极解决方案
  • 3分钟掌握视频PPT提取:extract-video-ppt终极教程
  • 告别一堆仪器!用Moku Pro激光锁盒,10分钟搞定PDH激光稳频实验
  • Android Studio升级后,ButterKnife报错?别慌,JDK17兼容性保姆级修复指南
  • 5分钟掌握SketchUp STL插件:3D打印模型转换的终极解决方案
  • 基于eBPF的pktstat-bpf:Linux网络流量实时监控与进程级诊断利器
  • 海添注塑机性价比高吗 - 工业品牌热点
  • 别再乱写状态机了!手把手教你用Verilog三段式搞定序列检测(附仿真对比)
  • 贵州师范大学考研辅导班机构选择:排行榜单与哪家好评测 - michalwang
  • macOS歌词同步神器LyricsX:3分钟打造专业级音乐体验 [特殊字符]
  • 行业内知名的拉力机品牌
  • 探索快马平台ai能力,构建智能辅导蓝桥杯eda客观题的应用
  • 为claudecode编程助手配置taotoken作为自定义模型提供商