编程语言
首页 > 编程语言> > 流畅的python读书笔记②:序列构成的数组

流畅的python读书笔记②:序列构成的数组

作者:互联网

文章目录


2.1 内置序列类型

按存放数据类型分类

容器序列——存放的是它们所包含的任意类型的对象的引用,有:list(列表)、tuple (元组)和 collections.deque (双向列表)。

扁平序列——存放具体的值,显然,扁平序列更加紧凑,但是其仅能存放如字符、字节、数值等基础数据类型,有:str(字符串)、bytes(字节)、bytearray(字节数组)、memoryview (内存查看对象)和 array.array(数组)。

按是否能被修改来分类

可变序列
list、bytearray、array.array、collections.deque 和 memoryview。

不可变序列
tuple、str 和 bytes。

2.2 列表推导和生成器表达式

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

2.2.1 列表推导和可读性

代码2-1 把一个字符串变成Unicode码位的列表

#《流畅的python》p59

#常规写法
>>> symbols = '$¢£¥€¤'
>>> codes = []
>>> for symbol in symbols:
#ord()函数以一个字符为参数,返回它对应的ascii编码或Unicode编码
... codes.append(ord(symbol))
...
>>> codes
[36, 162, 163, 165, 8364, 164]

#列表推导
>>> symbols = '$¢£¥€¤'
>>> codes = [ord(symbol) for symbol in symbols]
>>> codes
[36, 162, 163, 165, 8364, 164]

声明

本文来自《流畅的python》以及笔者自己的思考,如有错误,欢迎指正。

标签:codes,推导,读书笔记,python,列表,symbols,数组,序列,2.2
来源: https://blog.csdn.net/fishfuck/article/details/119304132