news 2026/5/7 7:54:00

Python list 简单理解与使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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]

列表推导式

懒得写喵

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 7:52:01

探索快马平台ai能力,构建智能辅导蓝桥杯eda客观题的应用

最近在准备蓝桥杯EDA(电子设计自动化)竞赛的客观题部分时,发现这个领域的知识点既广泛又深入,传统刷题方式效率不高。于是尝试用InsCode(快马)平台的AI能力,搭建了一个智能辅导应用,效果出乎意料地好。这里…

作者头像 李华
网站建设 2026/5/7 7:51:58

ComfyUI-Manager终极指南:5分钟掌握AI工作流节点管理核心技巧

ComfyUI-Manager终极指南:5分钟掌握AI工作流节点管理核心技巧 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable variou…

作者头像 李华
网站建设 2026/5/7 7:50:43

CLI工具智能体化:基于MCP协议实现命令行与AI的自然语言交互

1. 项目概述:当命令行工具遇见智能体如果你和我一样,每天的工作都离不开终端,那对命令行工具(CLI)一定又爱又恨。爱的是它们的高效、精准和可脚本化;恨的是,面对成百上千个命令和参数&#xff0…

作者头像 李华
网站建设 2026/5/7 7:45:27

MTKClient终极指南:高效解锁联发科设备的底层调试与救砖技术

MTKClient终极指南:高效解锁联发科设备的底层调试与救砖技术 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient MTKClient是一款专注于联发科芯片设备的开源底层调试工具&#xff…

作者头像 李华
网站建设 2026/5/7 7:45:27

高速局域网文件传输工具:手机扫码即传,数据安全不经过互联网

高速局域网文件传输工具:手机扫码即传,数据安全不经过互联网高速局域网文件传输工具:手机扫码即传,速度碾压LocalSend,数据安全不经过互联网前言在日常工作和生活中,我们经常需要在手机和电脑之间传输文件。…

作者头像 李华