Python list 简单理解与使用
目录list的简单理解list的简单使用insertremove修改某个元素常用栈结构appendpop是在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里面再套listlist [1,2,3,[1,2,3]]多变的数据类型这大概是python的list最显著的特点了ArrayList做不到系列list的简单使用首先看我们list最常用的几个函数假设我们有一个list [1,2,3,4,5]我们对他进行增删改查的操作insertlist.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和popappend是在list的末尾追加一个元素,如list.append(8080)之后我们的list现在就会变成[1,91,3,4,5,8080]pop是在list的末尾删除一个元素如list.pop()之后我们的list就变成[1,91,3,4,5]这两个操作非常类似我们的数据结构中的栈什么是栈栈是一种先入后出的线性结构。这个概念一听就好抽象不过我们可以想象有一个盒子我们往里面装书看这张鄙人画的简陋的图我们往这个盒子里放编号1234的四本书我们取出来的顺序只能是先取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.coloradmin.cn/o/2590824.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!