Python基础教程2.1 序列概述

本章将介绍一个新概念: 数据结构。数据结构是以某种方式(如通过编号)组合起来的数据元素(如数、字符乃至其他数据结构)集合。在Python中,最基本的数据结构为序列(sequence)。序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推。在有些编程语言中,从1开始给序列中的元素编号,但从0开始指出相对于序列开头的偏移量。这显得更自然,同时可回绕到序列末尾,用负索引表示序列末尾元素的位置。你可能认为这种编号方式有点怪,但我敢肯定,你很快就会习惯的。

本章首先对序列进行概述,然后介绍一些适用于所有序列(包括列表和元组)的操作。这些操作也适用于本章一些示例中将使用的字符串,下一章将全面介绍字符串操作。讨论这些基本知识后,将着手介绍列表,看看它们有什么特别之处,然后讨论元组。元组是一种特殊的序列,类似于列表,只是不能修改。

2.1 序列概述

Python内置了多种序列,本章重点讨论其中最常用的两种:列表元组。另一种重要的序列是字符串,将在下一章更详细地讨论。

列表和元组的主要不同在于,列表是可以修改的,而元组不可以。这意味着列表适用于需要中途添加元素的情形,而元组适用于出于某种考虑需要禁止修改序列的情形。禁止修改序列通常出于技术方面的考虑,与Python的内部工作原理相关,这也是有些内置函数返回元组的原因所在。在你自己编写程序时,几乎在所有情况下都可使用列表来代替元组。一种例外情况是将元组用作字典键,这将在第4章讨论。在这种情况下,不能使用列表来代替元组,因为字典键是不允许修改的。

在需要处理一系列值时,序列很有用。在数据库中,你可能使用序列来表示人,其中第一个元素为姓名,而第二个元素为年龄。如果使用列表来表示(所有元素都放在方括号内,并用逗号隔开),将类似于下面这样:

>>> edward = ['Edward Gumby', 42]

序列还可包含其他序列,因此可创建一个由数据库中所有人员组成的列表:

>>> edward = ['Edward Gumby', 42]

>>> john = ['John Smith', 50]

>>> database = [edward, john]

>>> database

[['Edward Gumby', 42], ['John Smith', 50]]

注意:Python支持一种数据结构的基本概念,名为容器(container)。容器基本上就是可包含其他对象的对象。两种主要的容器是序列(如列表和元组)和映射(如字典)。在序列中,每个元素都有编号,而在映射中,每个元素都有名称(也叫键)。映射将在第4章详细讨论。有一种既不是序列也不是映射的容器,它就是集合(set),将在第10章讨论。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180822G0AOEG00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券