python列表简介

是什么列表:列表让你能够在一个地方存储成组的信息,其中可以包含几个元素,也可以包含百万个元素。列表是新手可直接使用的最轻大的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

猜你喜欢

转载自blog.51cto.com/jiaxinwang/2108055