是什么列表: 列表让你能够在一个地方存储成组的信息, 其中可以包含几个元素, 也可以包含百万个元素. 列表是新手可直接使用的最轻大的 Python 功能之一, 它融合了众多重要编程的概念.
列表的定义: 列表是由一系列按特定顺序排列的元素组成. 鉴于列表包含多个元素给列表指定一个表示附属的名称 (如 letters,names) 是一个不错的主意.
在 Python 中用方括号 [ ] 来表示列表, 并用逗号分割其中的元素.
例如:
[root@localhost ~]# cat bicycles.py bicycles = ['trek','cannondale','redline','specialized']print(bicycles)[root@localhost ~]# python bicycles.py ['trek', 'cannondale', 'redline', 'specialized']
可以看出上面并不是我们想要看到的, 列表打印出来, Python 将打印列表的内部显示, 包括方括号.
1.1.1 访问列表元素
列表是有序集合, 因此要访问列表的任何元素, 只需将该元素的位置或索引告诉 Python 即可. 要访问列表元素, 可支出列表的名称, 再指出元素的索引, 并将其放在方括号内.
例如, 提取第一个元素[root@localhost ~]# cat bicycles.py bicycles = ['trek','cannondale','redline','specialized']print(bicycles[0])[root@localhost ~]# python bicycles.py trek
1.1.2 索引从 0 而不是从 1 开始
在 Python 中, 第一个列表元素的索引是 0 而不是 1. 在大多数编程语言中都是这样. 这与列表操作的底层实现相关.
要访问列表的任何元素, 都可将其位置减 1 (n-1)
Python 为访问最后一个列表元素提供了一种特殊语法. 通过将索引指定为 - 1(-2 为倒数第二个 -3 为第三个, 以此类推)
[root@localhost ~]# cat bicycles.py bicycles = ['trek','cannondale','redline','specialized']print(bicycles[-1])[root@localhost ~]# python bicycles.py specialized
这个目的是, 不知道列表长度的情况下访问最后的元素. 这种约定也适用于其他负数索引.
1.1.3 使用列表中的各个值
从列表中提取一个元素, 并用这个值创建一条消息.
[root@localhost ~]# cat bicycles.py bicycles = ['trek','cannondale','redline','specialized']message = "my first bicycle was a" + bicycles[0].title() + "."print(message)[root@localhost ~]# python bicycles.py my first bicycle was a Trek.
1.2 修改, 添加和删除元素
1.2.1 修改列表元素
要修改列表元素, 可指定列表名和要修改的元素索引, 再指定该元素的新值
[root@localhost 列表]# cat modification.pymodification = ['honda','yamaha','suzuki']print(modification)modification[0] = 'xiaoxin'print(modification)[root@localhost 列表]# python modification.py['honda', 'yamaha', 'suzuki']['xiaoxin', 'yamaha', 'suzuki']
1.2.2 在列表中添加元素
(1)在列表末尾添加元素
方法 append()将元素添加到了列表末尾 append: 添加的意思
[root@localhost 列表]# cat modification.py modification = ['honda','yamaha','suzuki']print(modification)modification[0] = 'xiaoxin'print(modification)modification.append('shuai')print(modification)[root@localhost 列表]# python modification.py['honda', 'yamaha', 'suzuki']['xiaoxin', 'yamaha', 'suzuki']['xiaoxin', 'yamaha', 'suzuki', 'shuai']
方法 append 动态创建列表 -- 可以先创建一个空列表, 再使用一系列 append()语句添加元素.
这种创建方式的好处是, 要经常等程序运行后, 你才知道用户要在程序中存储那些数据, 为控制用户, 首先创建一个空列表. 用于存储用户将要输入的值. 然后将用户提供的每个区别只顾附加到列表中.
[root@localhost 列表]# cat modification.py message = []message.append('shuai')message.append('xiao')message.append('xin')print(message)[root@localhost 列表]# python modification.py['shuai', 'xiao', 'xin']
(2)在列表中插入元素
方法 insert()在索引 0 处添加空间, 并元素值存储到这个地方. 这种操作将列表中每个元素都右移一个位置
[root@localhost 列表]# cat modification.py message = ['a','b','c']message.insert(0,'cat')print(message)[root@localhost 列表]# python modification.py['cat', 'a', 'b', 'c']
1.2.3 从列表中删除元素
(1)使用 del 语句删除元素
如果知道要删除的元素在列表中的位置, 可使用 del 语句
[root@localhost 列表]# cat modification.py message2 = ['1','2','3']print(message2)del message2[2]print(message2)[root@localhost 列表]# python modification.py['1', '2', '3']['1', '2']
使用 del 可以删除任何位置处的列表元素, 条件是知道索引. 使用 del 语句从列表中删除后, 你就无法再访问它了.
(2)pop()删除元素
有时候你要将元素从列表中删除, 并接着使用它的值用 del 显然是不行的
[root@localhost 列表]# cat modification.py message3 = ['A','B','C']print(message3)message4 = message3.pop()print(message3)print(message4)[root@localhost 列表]# python modification.py['A', 'B', 'C']['A', 'B']C
首先定义一个列表并打印, 其次将删除的元素存储到另一个变量中去, 最后打印删除的元素 也可以根基索引来删除元素. 例如 message4 = message3.pop(2)
1.2.4 根据值删除元素
有时候, 你不知道要从列表中删除的值的所在位置, 如果你只知道要删除的元素的值, 可使用 remove()
[root@localhost 列表]# python modification.py ['A', 'B', 'C', 'D']['A', 'C', 'D'][root@localhost 列表]# cat modification.py message5 = ['A','B','C','D']print(message5)message5.remove('B')print(message5)
1.3 组织列表
1.3.1 使用 sort()对列表进行永久性排序
在创建列表中, 往往需要对元素进行排序. 使用 sort()对列表进行永久排序.
[root@localhost 列表]# cat cars.py cars = ['bmw','audi','toyota','subaru']cars.sort()print(cars)[root@localhost 列表]# python cars.py ['audi', 'bmw', 'subaru', 'toyota']
还可以按与字母顺序相反的顺序排列只需向 sort()方法传递参数. reverse=True, 注意 True 中的'T'一定大写
[root@localhost 列表]# cat cars.py cars = ['bmw','audi','toyota','subaru']cars.sort(reverse=True)print(cars)[root@localhost 列表]# python cars.py ['toyota', 'subaru', 'bmw', 'audi']
上面两种方法对列表的修改顺序是永久性的.
1.3.2 使用函数 sorted()对列表进行临时排序
[root@localhost 列表]# cat cars1.py cars = ['bmw','audi','toyota','subaru']print(sorted(cars))[root@localhost 列表]# python cars1.py ['audi', 'bmw', 'subaru', 'toyota']
温馨提示:
关于顺序的修改永久性和临时性可以这样理解, 当进行排序后永久性生效是下次打印列表时, 元素还是按照顺序排列, 二临时性二次打印时, 顺序排列取消. 例如:[root@localhost 列表]# cat cars.py cars = ['bmw','audi','toyota','subaru']cars.sort()print(cars)print(cars)[root@localhost 列表]# python cars.py ['audi', 'bmw', 'subaru', 'toyota']['audi', 'bmw', 'subaru', 'toyota']临时排序:[root@localhost 列表]# cat cars1.py cars = ['bmw','audi','toyota','subaru']print(sorted(cars))print(cars)[root@localhost 列表]# python cars1.py ['audi', 'bmw', 'subaru', 'toyota']['bmw', 'audi', 'toyota', 'subaru']
1.3.3 倒着打印列表
所谓倒着打印, 就是反转打印, 不按照字母排序的打印. 永久性修改列表元素的排列顺序, 但可能随时恢复原来的排列顺序, 只需要再次调用 reverse()即可
[root@localhost 列表]# cat cars.py cars = ['bmw','audi','toyota','subaru']cars.reverse()print(cars)[root@localhost 列表]# python cars.py ['subaru', 'toyota', 'audi', 'bmw']
1.3.4 确定列表的长度, Python 计算列表元素时从 1 开始
[root@localhost 列表]# cat cars.py cars = ['bmw','audi','toyota','subaru']print(len(cars))[root@localhost 列表]# python cars.py 4
来源: http://www.bubuko.com/infodetail-2575586.html