核心类型复习和总结——对象灵活性
本书的这个部分介绍了许多复合对象类型 —— 带有组件的集合。一般来说有:
- 能包含任何类型对象的列表、字典、元组。
- Sets 可以包含任何类型的不可变对象。
- 列表、字典、元组都能被任意地嵌套。
- 列表、字典、sets 都可以动态增缩。
因为它们支持任意结构,Python 的复合对象类型擅于表示程序中的复杂信息。比如,字典中的值可能是列表,它可能包含元组,它可能包含字典,等等。嵌套可以根据对被处理数据进行建模的需要尽可能深。
看一个嵌套例子。下面的交互定义了图 9-1 中显示的一个嵌套的复合序列对象的树。要访问其组件,可以按需包含尽可能多的索引操作。Python 从左到右对索引求值,并在每步获取对更深入嵌套对象的引用。图 9-1 可能是一个异常复杂的数据结构,但它显示了通常用于访问嵌套对象的语法:
>>> L = ['abc', [(1, 2), ([3], 4)], 5]
>>> L[1]
[(1, 2), ([3], 4)]
>>> L[1][1]
([3], 4)
>>> L[1][1][0]
[3]
>>> L[1][1][0][0]
3
推荐文章: