第5章 探究内置集合类型

我们已经遇到了一些内置的集合(collection):

  • str——不可变的Unicode码位字符串序列;
  • list——可变的对象序列;
  • dict——可变的字典,它将不可变的键映射到可变的对象。

我们只是对这些集合类型的用法浅尝辄止,所以,在本章中,我们将深入探讨它们的功能。同时,本章还将介绍3种新的内置集合类型:

  • tuple——不可变的对象序列;
  • range——对于整数的等差序列;
  • set——包含唯一、可变对象的可变集。

本章不会再进一步讲解bytes类型。我们已经讨论了它与str的本质区别,学过的大多数关于str的知识也适用于字节。

这里不会详尽地列出所有的Python集合类型,但是对于绝大多数你将在外面遇到的或者可能自己编写的Python 3程序来说,这几个集合类型是完全够用的。

在本章中,我们将按照上面提到的顺序来介绍这些集合类型,最后将介绍协议(protocol),是协议将集合统一到一起,从而我们能够以一致和可预测的方式使用它们。

在Python中,元组(tuple)是可以包含任意对象的不可变序列。一旦创建了元组,就不能替换或删除其中的对象,并且不能向它添加新的元素。

元组与列表具有相似的字面量语法,只是元组是由圆括号包裹而不是方括号。以下是一个包含字符串、浮点数和整数的元组字面量:

>>> t = ("Norway", 4.953, 3)
>>> t
('Norway', 4.953, 3)

可以在方括号里使用从0开始的索引来访问元组中的元素:

>>> t[0]
'Norway'
>>> t[2]
3

可以使用内置的

Get Python实用技能学习指南 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.