流畅的python笔记 (二) 2.序列构成的数组

发布时间 2023-10-04 17:45:57作者: 肆空界

内置序列类型

分类1:

容器序列(能存放不同类型):list,tuple,collections.deque

扁平序列(不能存放不同类型):str,bytes,bytearray,memoryview,array.array

分类2:

可变序列(能被修改):list,bytearray,array.array,collections.deque,memoryview

不可变序列:tuple,str,bytes

列表推导和生成器表达式

列表推导是构建列表的快捷方式,而生成器表达式则可以用来创建其他任何类型的序列

列表推导:通常,只用列表推导来创建新的列表,并且尽量保持简短

 

 列表推导的作用只有一个:生成列表。如果想生成其他类型的序列,生成器表达式就派上了用场。

生成器表达式:列表推导也可以来初始化元组,数组,或其他序列类型,但生成器表达式是更好的选择。其背后遵守了迭代器协议,可以逐个地产出元素,而不是先建立一个完整的列表,然后在把这个列表传递到某个构造函数里。前面那种方式显然能够节省内存。生成器表达式是把方括号换成了圆括号。