Python列表

列表由一系列元素组成,这些元素之间可以没有任何关系,由于列表一般不止一个元素,所以列表的名称一般为复数的名称如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 >>> 
posted @ 2019-05-26 20:58  蔡蔡的木棉花  阅读(160)  评论(0编辑  收藏  举报