列表

1.列表具有的属性

python列表是:

1.任意对象的有序序列

2.通过偏移读取

3.可变长度、异构及任意嵌套

​ 可以包含任意对象(异构)

4.属于可变序列

5.是对象引用 的数组

​ Python列表包含了0个或多个其他对象的引用,每当用到引用,Python总是将这个引用指向一个对象,所以程序只需处理对象的操作。当把一个对象赋给一个数据结构元素或变量名时,Python总是会储存对象的引用,而不是对象的一个拷贝(除非明确要求保存拷贝) (深浅拷贝)

2.列表的修改
2.1分片

​ 分片赋值是一次性替换整个片段或“栏”。因为被赋值的序列长度不一定要与被赋值的分片长度相匹配,所以分片赋值能够用来替换(覆盖)、增长(插入)、缩短(删除)主列表。

>>> L = [1,2,3]
>>> L[1:2] = [66,88]
>>> L
[1, 66, 88, 3]
#ps:空列表赋值给索引,是在指定的位置储存清空引用,而不是删除
2.2apend和sort方法

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

内置函数sorted()会返回一个新的列表(原列表不会改变)。

>>> L = [1,2,3]
>>> L = L.append(12)
>>> print(L)
None
>>> L =['a','B','C']
>>> sorted(L,reverse = True)
['a', 'C', 'B']
>>> L
['a', 'B', 'C']

2.3pop

​ append与pop联用可以形成后进先出的堆栈结构

>>> L =['a','B','C']
>>> L.append('D')
>>> L.pop()  #可以指定索引
'D'
>>> L
['a', 'B', 'C']
2.4 del语句

​ del既可以在原处删除某项,也可以删除分片。

>>> L =[1,2,3,4,5]
>>> del L[0]
>>> L
[2, 3, 4, 5]
>>> del L[1:3]
>>> L
[2, 5]
posted @ 2019-08-19 09:54  Sroxi  阅读(208)  评论(0编辑  收藏  举报