#列表的定义
列表 由一系列按特定顺序排列的元素组成。在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。
在Python中,第一个列表元素的索引为0,而不是1。Python为访问最后一个列表元素提供了一种特殊语法:通过将索引指定为-1 ,可让Python返回最后一个列表元素。索引-2 返回倒数第二个列表元素,索引-3 返回倒数第三个列表元素,以此类推。
1 | #返回bicycles列表中的最后一个元素 |
#修改、添加和删除元素
##修改列表元素
修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
1 | #输出结果为['honda', 'yamaha', 'suzuki'] |
##在列表中添加元素
1.在列表末尾添加元素
1 | #使用append()函数在列表的结尾添加函数 |
方法append() 让动态地创建列表易如反掌,例如,你可以先创建一个空列表,再使用一系列的append() 语句添加元素。下面来创建一个空列表,再在其中添加元素’honda’ 、’yamaha’ 和’suzuki’ :
1 | motorcycles = [] |
2.在列表中插入元素
使用方法insert() 可在列表的任何位置添加新元素。下列方法insert() 在索引0 处添加空间,并将值’ducati’ 存储到这个地方。这种操作将列表中既有的每个元素都右移一个位置。同理,若要在索引1处添加空间,将列表中原先索引为1及其索引在1之后的元素都向右移一个位置。
1 | motorcycles = ['honda', 'yamaha', 'suzuki'] |
##从列表中删除元素
1.使用del语句删除元素
1 | #若知道要删除的元素在列表中的位置,可使用del语句 |
2.使用方法pop() 删除元素
1 | #方法pop() 可删除列表末尾的元素,并让你能够接着使用它。 |
1 | #弹出列表中任何位置处的元素 |
如果你不确定该使用del 语句还是pop() 方法,可以根据这个判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del 语句;如果你要在删除元素后还能继续使用它,就使用方法pop() 。
3.根据值删除元素
有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用方法remove() 。
1 | motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati'] |
使用remove() 从列表中删除元素时,也可接着使用它的值:
1 | motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati'] |
注意 方法remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
#组织列表
1.使用方法sort() 对列表进行永久性排序
1 | cars = ['bmw', 'audi', 'toyota', 'subaru'] |
方法sort() 永久性地修改了列表元素的排列顺序。以上代码让汽车是按字母顺序排列的,再也无法恢复到原来的排列顺序。还可以按与字母顺序相反的顺序排列列表元素,为此,只需向sort() 方法传递参数reverse=True 。下面的示例将汽车列表按与字母顺序相反的顺序排列:
1 | cars = ['bmw', 'audi', 'toyota', 'subaru'] |
2.使用函数sorted() 对列表进行临时排序
要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted() 。函数sorted() 让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。
3.列表的其它操作
方法reverse()、函数len() 的使用:
1 | #要反转列表元素的排列顺序,可使用方法reverse() |
1 | #使用函数len() 可快速获悉列表的长度。 |
注意 笔者沉痛的教训,在编程学习的过程中,一定要严谨!!区分方法和函数的概念!!方法可供对象调用,而函数是需要引入参数才能使用的。例如以下代码报错,即将方法和函数之间错误使用了。