Python数据结构之一——list(列表)

Python版本:3.6.2  操作系统:Windows   作者:SmallWZQ

Python包含6种常见的内建序列。它们分别是列表、元祖、字符串、Unicode字符串、buffer(memoryview)对象和range对象。下面将重点介绍Python中最常见的数据结构——列表(list())。

关于列表,在很多资料中,作者都会把它描述为“列表:Python的‘苦力’”。至于为什么这么形容列表,我也不知道这其中的奥秘。细细想来,可能的原因之一:列表是可变的——可以改变列表的内容,而且列表有许多有用的、专门的方法。因此,与其它序列相比,列表更具一般性。

  列表格式:L = [1,2,3,4,5,6],英文符号([ ]:中括号)

1.列表转化:使用list()函数

Python数据结构之一——list(列表)

图1 list()函数

特别地,list()函数适用于所有类型的序列,而不只是字符串。

2.元素索引

       列表中所有元素都有“门牌号”。索引0指向第一个元素,依次递增。最后一个元素的索引既可以是len(列表)-1也可以是-1

       Python数据结构之一——list(列表)

图2 列表索引

3.元素赋值

列表赋值通过索引标记来为某个已知的位置明确的元素赋值,即L[0]=8。因此,改变列表是非常容易的。

4.删除元素

对于删除列表中的元素,可以使用del语句。

L = [1,2,3,4,5,6]

del L[2]

L = [1,2,4,5,6]

len(L) = 5   #列表长度由6变为5。

5.分片操作

对于分片,有人会觉得多此一举,我会用索引就行了。但是,现实中可不是这样的。比如:输出列表中的最后三个元素,或者输出列表中第3-6个元素等等。碰到此类情况,怎么办?有人会说:“可以用循环语句实现啊。”然而,Python讲究简洁,尽量使用最短的语句实现最多的功能。因此,分片就能发挥作用了。话不多说直接上图。

Python数据结构之一——list(列表)

图3 列表分片操作

图中所示的语句操作,基本上涵盖了列表中有关分片支持的特性。如有不足,请读者指出遗漏。

6.列表方法

列表方法如何调用呢?很简单,一般地,对象.方法(参数),对象被放置到方法名之前,并且两者之间用“.”(点号)隔开,方法调用与函数调用类似。

列表常用的方法:append()、count()、index()、insert()、pop()、remove()、reverse()、sort()。 关于方法含义与具体操作(列表方法并不都能真正改变列表内容),这里就不一一叙述了。列表方法就是为了使用简短的语句实现更多的功能。因此,这些列表方法都是挺简单的,目的在于检查或修改其中的内容。

  列表能够使用所有适用于序列的操作,如索引、连接、分片和相乘(*)。列表就是Python内建序列的“万能胶水”。

  列表特性总结:

  1.Python内置的数据结构;

  2.列表是可变的;

  3.list是一种有序的集合;

  4.随时添加和删除list中的元素;

  5.list支持的方法众多,包含len()、append()、insert()、pop()、sort()......

上一篇:光场相机重聚焦之二——Lytro Illum记录光场


下一篇:向tiny6410中移植中移植linux-4.5.1内核(最新)