Python列表list操作(遍历查找增加删除修改)实例详解
在使用列表的时候需要用到很多方法,例如遍历列表、查找元素、增加元素、删除元素、改变元素、插入元素、列表排序、逆序列表等操作。
部分操作会通过对应函数去完成,函数介绍如下表:
函数 | 功能 |
index(element) | 返回与element值相同的第一个元素的索引。如果element在列表中没有找到,会引发Value.Error异常 |
append(element) | 将element添加到列表末尾 |
remove(element) | 从列表中移除x出现的第一个元素。如果element在列表中没有找到,会引发Value-Error异常 |
insert(index,element) | 将element插人到列表中指定的index位置。 |
sort() | 将列表的元素按从小到大排列 |
reverse() | 逆置列表中的所有元素 |
1. 遍历列表
遍历列表通常采用for循环的方式以及for循环和enumerate()函数搭配的方式去实现。
1) for循环方式遍历
这种方式比较简单,前面讲for循环的时候也用到过很多次直接用于遍历,循环执行,看一下代码。
first_list = [1,2,3,4]#先定义一个列表 for i in first_list:#i为用于保存从列表中获取到的元素值,要输出元素的时候直接输出i即可。 print(i)
输出结果:
1 2 3 4
2) for循环方式配合enumerate()函数遍历
enumerate函数在序列中提到过一次,它的作用是把序列组合成一个索引序列,我们配合for循环使用的时候,能得到列表中的元素及其索引值。
语法格式为:
for index,element in enumerate(list):
index值的是索引值,element指元素,list值我们要遍历的列表,下面看个例子。
my_list = ['小明','小华','小天','小娜','小美','小李'] for index,element in enumerate(my_list): print('序号为:',index,'名字为:',element)
输出结果为:
序号为: 0 名字为: 小明 序号为: 1 名字为: 小华 序号为: 2 名字为: 小天 序号为: 3 名字为: 小娜 序号为: 4 名字为: 小美 序号为: 5 名字为: 小李
通过这种方式我们能更清楚的看到每个元素在列表中的位置。
2. 查找元素
在查找元素的时候,我们可以使用index()方法,它会返回元素的索引值,如果找不到元素就会报错。
my_list = ['小明','小华','小天','小娜','小美','小李'] print(my_list.index('小天'))
输出结果:
2
3. 增加元素
增加元素相对来说比较简单,使用append()方法进行添加。
my_list = []#创建一个空列表 my_list.append(1)#添加一个元素1 my_list.append(2)#添加一个元素2 print(my_list)#输出
输出结果为:
[1, 2]
4. 删除元素
删除元素的时候我们通常采用两种方法,分别是根据索引值删除和根据元素值删除。
1)根据索引值删除
my_list = ['小明','小华','小天','小娜','小美','小李'] del my_list[1]#删除索引值为1的元素,对应为‘小华’ print(my_list)
输出结果:
['小明', '小天', '小娜', '小美', '小李']
2)根据元素值删除
根据元素值删除的时候我们会使用到remove()函数进行删除。
代码如下:
my_list = ['小明','小华','小天','小娜','小美','小李','小天'] my_list.remove('小天')#直接找到第一个为‘小天’的元素 print(my_list)
输出结果:
['小明', '小华', '小娜', '小美', '小李', '小天']
我们可以发现它只删除了第一个名为‘小天’的元素,如果想要全部删除可以配合if语句等去进行删除,大家可以自己去练习一下。
5. 改变元素
如果要改变列表中某个元素的值,我们可以采用直接更改的方式,例如:
my_list = ['小明', '小华', '小娜', '小美', '小李', '小天'] my_list [0] = '小明的哥哥' print(my_list)
输出:
['小明的哥哥', '小华', '小娜', '小美', '小李', '小天']
6. 插入元素
当我们想要在列表中某个位置增添一个元素的时候,我们可以采用insert(index,element)方法,index为索引位置,element为插入元素。
当元素插入到列表时,列表大小会扩大以容纳新的元素。而之前在指定索引位置上的元素以及其后的所有元素则依次向后移动一个位置。
如果你指定了一个无效索引,不会引发异常。
如果指定的位置超过了列表末尾,元素会添加到列表未尾。
如果你使用负索引指定了一个非法索引,元索会添加到列表开始。
看个例子:
已知一个列表为: ['小明', '小华', '小娜', '小美', '小李', '小天'],我们需要在小明和小华之间插入一个元素‘小张’,那么我们首先要找到的是小华的索引值为1,那么我们就可以使用insert方法直接进行插入。
代码如下:
my_list = ['小明', '小华', '小娜', '小美', '小李', '小天'] my_list.insert(1,'小张') print(my_list)
输出结果为:
['小明', '小张', '小华', '小娜', '小美', '小李', '小天']
下一节我们来学习列表的排序和逆序.