混合类型列表-不符合准则的操作
混合类型列表
Python入门教材往往会强调列表可以同时容纳不同类型的元素,但是实际上这样做并没有什么特别的好处。我们之所以用列表来存放东西,是期待在稍后使用它的时候,其中的元素有一些通用的特性(比如,列表里存的是一类可以“呱呱”叫的动物,那么所有的元素都应该会发出这种叫声,即便其中一部分元素类型并不是鸭子。)在Python3中,如果列表里的东西不能比较大小,那么我们就不能对列表进行排序:
>>> l = [28, 14, '28', 10, '1', 9, '23']
>>> sorted(l)
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: '<' not supported between instances of 'str' and 'int'
元组则恰恰相反,它经常用来存放不同类型的元素。这也符合它的本质,元组就是用作存放彼此之间没有关系的数据的记录。