dict 和 set。容器序列可以嵌套着使 用,因为容器里的引用可以针对包括自身类型在内的任何类型。 与此相反,扁平序列因为只能包含原子数据类型,比如整数、浮点 数或字符,所以不能嵌套使用。
Python 入门教材往往会强调列表是可以同时容纳不同类型的元素 的,但是实际上这样做并没有什么特别的好处。我们之所以用列表 来存放东西,是期待在稍后使用它的时候,其中的元素有一些通用 的特性(比如,列表里存的是一类可以“呱呱”叫的动物,那么所有 的元素都应该会发出这种叫声,即便其中一部分元素类型并不是鸭 子)。在 Python 3 中,如果列表里的东西不能比较大小,那么我们 就不能对列表进行排序:
>>> l = [28, 14, '28', 5, '9', '1', 0, 6, '23', 19]
>>> sorted(l)
Traceback (most recent call last): File "", line 1, in TypeError: unorderable types: str() < int()
元组则恰恰相反,它经常用来存放不同类型的的元素。这也符合它 的本质,元组就是用作存放彼此之间没有关系的数据的记录。