容器序列——存放的是它们所包含的任意类型的对象的引用,有:list(列表)、tuple (元组)和 collections.deque (双向列表)。
扁平序列——存放具体的值,显然,扁平序列更加紧凑,但是其仅能存放如字符、字节、数值等基础数据类型,有:str(字符串)、bytes(字节)、bytearray(字节数组)、memoryview (内存查看对象)和 array.array(数组)。
可变序列
list、bytearray、array.array、collections.deque 和 memoryview。
不可变序列
tuple、str 和 bytes。
列表推导是构建列表(list)的快捷方式,而生成器表达式则可以用来创建其他任何类型的序列。
#《流畅的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》以及笔者自己的思考,如有错误,欢迎指正。