【Python笔记】第3章 列表简介

Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返回最后一个列表元素:

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

这些代码返回'specialized'。这种语法很有用,因为你经常需要在不知道列表长度的情况下访问最后的元素。这种约定也适用于其他负数索引,例如,索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素,以此类推。

每当需要访问最后一个列表元素时,都可使用索引-1。这在任何情况下都行之有效,即便你最后一次访问列表后,其长度发生了变化

仅当列表为空时,这种访问最后一个元素的方式才会导致错误


在列表末尾添加元素

append()方法

在列表中插入元素

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

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

❶ motorcycles.insert(0, 'ducati')
  print(motorcycles)

在这个示例中,值'ducati'被插入到了列表开头(见❶);方法insert()在索引0处添加空间,并将值'ducati'存储到这个地方。这种操作将列表中既有的每个元素都右移一个位置:

['ducati', 'honda', 'yamaha', 'suzuki']

使用del语句删除元素

使用del可删除任何位置处的列表元素,条件是知道其索引。使用del语句将值从列表中删除后,你就无法再访问它了。

  motorcycles = ['honda', 'yamaha', 'suzuki']
  print(motorcycles)

❶ del motorcycles[0]
  print(motorcycles)

❶ 处的代码使用del删除了列表motorcycles中的第一个元素——'honda'

['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']

使用方法pop()删除元素

有时候,你要将元素从列表中删除,并接着使用它的值。方法pop()可删除列表末尾的元素,并让你能够接着使用它。

❶ motorcycles = ['honda', 'yamaha', 'suzuki']
  print(motorcycles)

❷ popped_motorcycle = motorcycles.pop()
❸ print(motorcycles)
❹ print(popped_motorcycle)
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki

弹出列表中任何位置处的元素

实际上,你可以使用pop()来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。

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

根据值删除元素

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

使用remove()从列表中删除元素时,也可接着使用它的值。

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


方法sort()对列表进行永久性排序

按与字母顺序相反的顺序排列列表元素,为此,只需向sort()方法传递参数reverse=True

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

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

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

注意 在并非所有的值都是小写时,按字母顺序排列列表要复杂些。决定排列顺序时,有多种解读大写字母的方式,要指定准确的排列顺序,可能比我们这里所做的要复杂。然而,大多数排序方式都基于本节介绍的知识。

倒着打印列表

要反转列表元素的排列顺序,可使用方法reverse()。注意,reverse()不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序。方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用reverse()即可。

确定列表的长度

使用函数len()可快速获悉列表的长度

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

Python编程:从入门到实践. Eric Matthes (作者) 袁国忠(译者)

原文地址:https://www.cnblogs.com/ME-WE/p/12433589.html