核心类型复习和总结——对象灵活性 | 第二部分 类型与操作 —— 第 9 章: 元组,文件和其他 |《学习 python:强大的面向对象编程(第 5 版)》| python 技术论坛-380玩彩网官网入口
本书的这个部分介绍了许多复合对象类型——带有组件的集合。一般来说有:
- 能包含任何类型对象的列表、字典、元组。
- 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