列表由一系列元素组成,这些元素之间可以没有任何关系,由于列表一般不止一个元素,所以列表的名称一般为复数的名称如names,letters等
在python中,用[]来表示列表,并用逗号来隔开其中的元素,下面是一个简单的列表示例,这个列表包括多种自行车:
1 >>> cars=['KIA','MAZDA','HONDA','TOYOT','SUZUKI']
2 >>> cars
3 ['KIA', 'MAZDA', 'HONDA', 'TOYOT', 'SUZUKI']
4 >>>
上面第二句是让Python将列表元素打印出来,Pytohn将打印列表的内部表示,包括方括号。
(1)上面是列表的创建,接下来就是列表元素的查询
访问列表元素先指出列表的名称,再提供列表元素的位置或者索引,记住索引或者位置是从0开始的而不是1,当从列表中提取列表元素时,python返回的是该值,不包括方括号和括号,如下所示返回列表元素的第1、第2、第3个元素值
1 >>> cars
2 ['KIA', 'MAZDA', 'HONDA', 'TOYOT', 'SUZUKI']
3 >>> cars[0]
4 'KIA'
5 >>> cars[1]
6 'MAZDA'
7 >>> cars[2]
8 'HONDA'
9 >>>
记住,当我们要提取列表的最后一个元素时,有两种方法第一种时给定元素的索引,最后一个元素的索引号为列表长度-1,第二种是索引指定为-1,如下用这两种方法分别演示一下:
1 >>> cars
2 ['KIA', 'MAZDA', 'HONDA', 'TOYOT', 'SUZUKI']
3 >>> cars[len(cars)-1]
4 'SUZUKI'
5 >>> cars[-1]
6 'SUZUKI'
7 >>>
注意:len(cars) 表示求列表cars的长度
上面第二种输出最后一个元素的方法很实用,因为你经常需要在不知道列表长度的情况下访问最后一个元素,这种方法也可以适用于其他负数索引,索引-2返回倒数第二个列表元素,索引-3返回列表倒数第三个列表元素,以此类推。
>>> cars
['KIA', 'MAZDA', 'HONDA', 'TOYOT', 'SUZUKI']
>>> cars[-2]
'TOYOT'
>>> cars[-3]
'HONDA'
>>>
(2)对列表元素进行修改
对列表进行修改,我们只需要提供元素的索引,如下所示:
>>> cars
['KIA', 'MAZDA', 'HONDA', 'TOYOT', 'SUZUKI']
>>> cars[0]='Audi'
>>> cars
['Audi', 'MAZDA', 'HONDA', 'TOYOT', 'SUZUKI']
>>>
发现第一个列表元素的值不再是KIA了而是Audi了
(3)在列表中添加元素
在列表中添加元素包括在末尾和非末尾位置添加元素两种情况
- 在列表末尾添加元素,如在cars列表中末尾添加元素‘JAC’,代码如下:
>>> cars
['Audi', 'MAZDA', 'HONDA', 'TOYOT', 'SUZUKI']
>>> cars.append('JAC')
>>> cars
['Audi', 'MAZDA', 'HONDA', 'TOYOT', 'SUZUKI', 'JAC']
>>>
- 2.在列表中间包括在第一个位置添加元素,为此,我们需要指定新元素的索引和值,现我们在列表索引为3的位置添加元素 ‘GMC’,代码如下所示:
>>> cars
['Audi', 'MAZDA', 'HONDA', 'TOYOT', 'SUZUKI', 'JAC']
>>> cars.insert(3,'GMC')
>>> cars
['Audi', 'MAZDA', 'HONDA', 'GMC', 'TOYOT', 'SUZUKI', 'JAC']
>>>
我们发现在原列表索引为3的位置添加列表后,索引为3以及之后位置的元素都要往后移动一个位置。
(4)从列表中删除元素
- 使用del语句删除列表元素,如删除原列表中第2个位置(索引为1的位置)的元素,代码如下:
>>> cars
['Audi', 'MAZDA', 'HONDA', 'GMC', 'TOYOT', 'SUZUKI', 'JAC']
>>> del cars[1]
>>> cars
['Audi', 'HONDA', 'GMC', 'TOYOT', 'SUZUKI', 'JAC']
>>>
注意:通过del 语句删除元素之后,之后这个删除掉的元素就不能还原了,也就是通过del语句删除元素后,删掉的元素我们就不能够再访问了,或者说这个删除的元素你就不能够再使用了
- 使用pop()方法删除列表元素,当pop()括号中没有索引参数时,默认删除列表末尾的元素,代码如下所示:
>>> cars
['Audi', 'HONDA', 'GMC', 'TOYOT', 'SUZUKI', 'JAC']
>>> del_car = cars.pop() # 使用del_car来接收删除的列表末尾元素
>>> cars
['Audi', 'HONDA', 'GMC', 'TOYOT', 'SUZUKI']
>>> del_car
'JAC'
>>>
在实际当中,pop()可以删除列表任意位置的元素,当括号中指定索引参数时,表示删除列表对应索引位置的元素,如删除索引为3的位置列表元素,代码如下:
>>> cars
['Audi', 'HONDA', 'GMC', 'TOYOT', 'SUZUKI']
>>> del_car = cars.pop(3)
>>> cars
['Audi', 'HONDA', 'GMC', 'SUZUKI']
>>> del_car
'TOYOT'
>>>
- 根据列表元素值来删除元素
很多时候,当列表元素比较多时,我们不能直接清楚我们所要删除的元素在列表的哪个位置,我们这个时候我们就可以通过元素值来删除元素,通过元素值来删除元素,我们可以通过remove()方法,在这里我只讲解当列表中我们要删除的元素只有一个的情况,当要删除的元素出现多次时,需要用到循环,后期再整理。
假如我们要从列表中删除元素值 ’HONDA’ , 代码如下:
1 >>> cars
2 ['Audi', 'HONDA', 'GMC', 'SUZUKI']
3 >>> cars.remove('HONDA')
4 >>> cars
5 ['Audi', 'GMC', 'SUZUKI']
6 >>>
注意:使用remove方法,括号中指定的是元素值,且删除掉的元素可以继续访问,代码如下所示:
1 >>> cars=['Audi','HONDA','GMC','TOYOT','SUZUKI']
2 >>> cars
3 ['Audi', 'HONDA', 'GMC', 'TOYOT', 'SUZUKI']
4 >>> del_car='HONDA'
5 >>> cars.remove(del_car)
6 >>> cars
7 ['Audi', 'GMC', 'TOYOT', 'SUZUKI']
8 >>> del_car
9 'HONDA'
10 >>>