郑大钱呀
】,关注我们,一起学技术!
所谓列表就好像是把一堆数据放在一种特定的容器中,这个容器就称为列表,每个数据叫做元素
,每个元素都有一个索引来表示它在列表中的位置。在Python中列表的定义如下:列表是内置有序、可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号分隔开。本章我们来学习列表的定义及相关操作。
列表按使用可分为一维列表
、二维列表
、多维列表
,在下面的数组定义的讲解中,我们会提到数组的遍历,本教程中关于循环的内容我们还没有讲解,这里就先了解一下。
一维列表的定义,示例代码如下:
从上面的代码中我们发现,即便是不同的数据类型也可以放在一个列表中,不会报错
。
一维数组的遍历:所谓遍历就是使用循环依次输出列表中所有值,示例代码如下:
二维列表的定义:二维列表相比较一维列表而言,就是在一维列表的基础上,将一维列表的元素换成一个列表,下面我们看一下示例:
二维数组的遍历:与一维列表不同,二维列表的遍历需要使用2层循环,示例代码如下:
多维列表:这里我们将维度超过二维的列表称之为多维列表,比如三维、四维等等,多维列表的使用频率不多,这里我们以三维列表举例,三维列表就是在二维列表的基础上,将二维列表中的值换成一个列表,示例代码如下:
三维列表的遍历,此时就需要使用三次循环来将每个值输出,示例代码如下:
一维数组使用一次循环就可以遍历所有值,二维列表需要使用2次循环遍历,依次类推,数组的维度越高,循环嵌套的次数就越高,复杂度就越高。
我们声明了一个列表,那么如何访问里面的元素呢,比如我们想访问上面列表中的第二个元素,示例代码如下:
我们通过"变量名[索引号]"的方式来访问其中的某一个元素
,值得注意的是列表的索引都是从0开始的。
当我们想要访问一个列表中在某个范围元素的时候,我们就需要使用到切片的操作
,比如我想获取一个列表中第2个到第4个元素,示例代码如下:
代码解释:我们可以使用"变量名[起始索引:结束索引]"的方式来访问列表中某个范围的元素。这里可能有同学会疑问,第2个元素的索引是1,第四个元素的索引是3,为什么这里是[1:4],这是因为列表中的切片是包含左边的索引,但是右边的索引是不包含,所以需要加上1
。
Python列表中的索引有两种,一种是正向索引
,另一种是反向索引
,如下图:
下面我们使用反向索引访问一下元素,代码示例如下:
切片的其他操作,直接看代码:
列表也可以进行"+"和"*"操作
,但是此时的"+“的作用不是加法,而是用来连接两个列表,此时的”*"表示的是对元素内容的重复。示例代码如下:
这里值得注意的是,通过"+“和”*"操作,他们不会对源数据进行改变,而是会创建一个新的列表
,这和下面使用append、extend、insert方法修改列表不一样。
append()函数:在列表的最后添加一个元素,示例代码如下:
代码解释:这里的id函数,用于获取对象的内存地址,从上面的结果我们发现使用append操作后,内存地址并没有改变,就说明append函数修改的是源数据对象,并没有重新创建一个新的列表
extend()函数:extend函数的作用和append函数的作用差不多,不同的是extend函数是在列表的最后 一次可添加多个元素,示例代码如下:
insert()函数:insert函数的作用是在列表的指定位置添加元素,每次只能添加一个对象,示例如下:
代码解释:我们可以使用insert(索引,元素内容)的方式在列表的指定位置添加元素,如上图,我们将"a"添加到列表的第一个位置,同样insert修改的也是源数据对象。
remove()函数:remove函数的作用是移除列表中的特定元素,如果该元素存在多次,只会移除第一个,如移除"[1,2,4,2,3]"列表中的第一个2,示例代码如下:
remove函数修改的也是源数据对象
。
pop()函数:pop函数的作用和remove作用相似也是删除列表中的元素,但是pop()移除的是列表中的最后一个元素,并告诉你它移除了哪一个元素。示例代码如下:
del 指令:del准确的说是一个操作指令,并不是一个函数,使用del指令可以通过指定索引号来删除列表中的值,代码示例如下:
len()函数:len函数用于返回列表中元素的个数,代码示例如下:
count()函数:count函数用于返回某个元素在列表中出现的次数,代码示例如下:
index()函数:index函数用于从列表中获取某个元素的索引号,如果该元素出现了多次,则返回第一次出现的索引,代码示例如下:
reverse()函数:reverse函数用于将列表中的元素倒序输出
sort()函数:sort函数用于对列表中的元素进行排序,默认从小到大排列,示例代码如下:
我们也可以从大到小排序,将传入reverse=True即可,示例代码如下: