Python一一列表(list)

列表

与字符串不同:列表可以保护任何种类的对象:数字、字符串甚至其他列表。列表是可变对象,支持在原处修改的操作,可以通过指定的偏移值和分片、列表方法调用、删除语句等方法来实现。

主要属性:

(1).任意对象的有序集合

(2).通过偏移读取

(3).可变长度、异构(可以包含任何类型的对象不仅仅是包含有单个字符的字符串)以及任意嵌套

(4).属于可变序列的分类

(5).对象引用数组

常见操作:

Python一一列表(list)

Python一一列表(list)

实际应用中的列表

基本列表操作

Python一一列表(list)

列表迭代和解析

Python一一列表(list)

索引、分片和矩阵

对列表进行索引的结果就是你指定的偏移处的对象,而对列表进行分片时往往返回一个新的列表:

Python一一列表(list)

矩阵(多维数组)的访问:

Python一一列表(list)

原处修改列表

与字符串不同,它支持原处改变对象的操作,这样就不会强迫你建立一个新的拷贝。在原处修改一个对象时,可能同时会影响一个以上指向它的引用。

(1).索引与分片的赋值

Python一一列表(list)

上述的分片操作可以分成两步来理解:

1.删除。删除等号左边指定的分片

2.插入。将包含在等号右边对象中的片段插入旧分片被删除的位置。

(2).列表方法调用

Python一一列表(list)

上述中的append和sort函数都属于原地修改列表

L.append(X)与L+[X]虽然结果类似,但不同的是,前者会原地修改L,而后者会生成新的列表

针对sort排序,可以通过key参数指出了一个单个参数的函数,它返回在排序中使用的值,reverse参数允许排序按照降序而不是升序进行:

Python一一列表(list)

注意:要当心append和sort原处修改相关的列表对象,而结果并没有返回列表(从技术上讲,两者返回的值皆为None)如果编辑类似L=L.append(X)的语句,将不会得到修改后的值(实际上,会失去整个列表的引用)

Python一一列表(list)

排序也在最近的Python中可以作为内置函数使用了,它可以排序任何集合(不只是列表)并且针对结果返回一个新的列表(而不是原处修改):

Python一一列表(list)

extend()和pop方法分别能够在末端插入多个元素、删除一个元素,也有reversed内置函数,像sorted一样工作,但是它必须包装在一个list调用中,因为它是一个迭代器

Python一一列表(list)

其他操作:

Python一一列表(list)