Python编程从入门到实践-第三章列表简介

一、列表是什么

  列表由一系列按特定顺序排列的元素组成。

  在Python中,用方括号( [] )来表示列表,并用逗号来分隔其中的元素。下面是一个简单的列表示例,这个列表包含几种自行车:

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)

  输出结果是:

1、访问列表元素,索引从0而不是1开始

  在Python中,第一个列表元素的索引为0,而不是1。

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0])
print(bicycles[1])
print(bicycles[2])
print(bicycles[3])

  输出结果:

  索引列表最后一个元素,索引指定为-1,可让Python返回最后一个列表元素:

print(bicycles[-1])

 

 二、修改、添加和删除元素

  1、修改列表元素

  例如,假设有一个摩托车列表,其中的第一个元素为 'honda' ,如何修改它的值呢?

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'                  (直接修改列表元素的值)
print(motorcycles)

  输出结果

  可以看到第一个元素的值被修改了。

   2、在列表中添加元素

motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.append('ducati')

  方法 append() 将元素 'ducati' 添加到了列表末尾,而不影响列表中的其他所有元素

motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati') (添加ducati元素到索引0处)

  使用方法 insert() 可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。

  3、在列表中删除元素

motorcycles = ['honda', 'yamaha', 'suzuki']
del motorcycles[0]

  使用 del 可删除任何位置处的列表元素,条件是知道其索引。

motorcycles = ['honda', 'yamaha', 'suzuki']
last_owned = motorcycles.pop()               (删除末尾suzuki,并将它存储在last_owned中)
first_owned = motorcycles.pop(0) (删除第一个值honda,并将它存储在first_owned中)

    方法 pop() 可删除列表末尾的元素,并让你能够接着使用它。pop() 来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。

   如果你不确定该使用 del 语句还是 pop() 方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用 del 语句;如果你要在删除元素后还能继续使用它,就使用方法 pop() 。

   4、根据值删除元素

   有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用方法 remove() 。

   例如,假设我们要从列表 motorcycles 中删除值 'ducati' 。

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
motorcycles.remove('ducati')     (让Python确定 'ducati' 出现在列表的什么地方,并将该元素删除)
print(motorcycles)
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati'] a = 'ducati' motorcycles.remove(a) print(a)

  注意:方法 remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

 三、组织列表

  1、使用方法 sort() 对列表进行永久性排序

cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()                                  (按字母顺序排列,从a-z)
print(cars)
cars.sort(reverse=True)              (按字母顺序排列,从z-a)
print(cars)

  2、使用函数 sorted() 对列表进行临时排序

  函数sorted() 让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。

cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
print(sorted(cars))
print(cars)

  输出的结果

['bmw', 'audi', 'toyota', 'subaru']
['audi', 'bmw', 'subaru', 'toyota']
['bmw', 'audi', 'toyota', 'subaru']

  注意,调用函数 sorted() 后,列表元素的排列顺序并没有变。如果你要按与字母顺序相反的顺序显示列表,也可向函数 sorted() 传递参数 reverse=True 。

cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)

q=sorted(cars)                         (临时正序,不改变原数列)
print(q)
print(cars)

a=sorted(cars,reverse = True)          (临时逆序,不改变原数列)
print(a)
print(cars)

  输出结果

  3、倒着打印列表

  要反转列表元素的排列顺序,可使用方法 reverse() 。

cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)

  输出结果

  注意, reverse() 不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序:

   方法 reverse() 永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用 reverse() 即可。

  4、确定列表的长度

  使用函数 len() 可快速获悉列表的长度。在下面的示例中,列表包含4个元素,因此其长度为4:

>>>  cars = ['bmw', 'audi', 'toyota', 'subaru']
>>>  len(cars)
4

  

 

posted @ 2019-04-15 01:46  hang1368  阅读(374)  评论(0编辑  收藏  举报