数据结构:更好的说法是从数据角度来说,结构化数据,就是说数据并不是随便摆放的,而是有一定结构的,这种特别的结构会带来某些算法上的性能优势,比如排序、查找等。
  在Python中,最基本的数据结构是序列(sequence)。序列中的每个元素被分配一个序号————即元素的位置,这个序号也被称为索引。第一个索引从0开始。
  本章先介绍序列,然后介绍针对序列(包括元组和列表)都通用的操作,这些操作也适用于字符串。

  Python包含6种内建的序列,本章重点讨论最常用的两种类型:列表和元组。其他的内建序列类型有字符串、Unicode字符串、buffer对象和xrange对象。
  列表和元组的主要区别在于,列表可以修改,元组不能。一般来说,在几乎所有的情况下列表都可以替代元组。不过需要注意的是:使用元组作为字典的键,这种情况下,键不可以改,所以不能使用列表。
  在需要操作一组数组的时候,序列很好用,可以用序列表示数据库中一个人的信息————第1个元素是姓名,第二个是年龄,根据上述内容编写一个列表,如下所示:

>>> ed = ['Edward',23]
>>> ed
['Edward', 23]

  ed相当于一个记录,可以将记录房子更大的一个包中。

>>> john = ['John',24]
>>> database=[ed,john]
>>> database
[['Edward', 23], ['John', 24]]

  上面的database是一种容器。Python之中还有一种名为容器的数据结构。容器基本是包含其他对象的任意对象。序列(例如列表和元组)和映射(例如字典)是两类主要容器。序列中的每个元素都有自己的编号,而映射中的每个元素则有一个名字(也称为键)。

2 通用序列操作                                                    

  所有序列类型都可以进行某些特定的操作,这些操作包括:索引、分片、加、乘以及检查某个元素是否属于序列的成员,除此之外,Python还有计算序列长度、找出最大元素和最小元素的内建函数。
  另外还有一个重要操作:迭代。对序列进行迭代的意思是:依次对序列中的每个元素重复执行某些操作。

2.1 索引                            

  序列中的所有元素都是有编号的————从0开始,这些元素可以通过编号分别访问。并且Python是允许从末尾开始访问数据的,也就是把-1当作倒数第一个,把-2当作第二个

示例1:正向索引第一个元素

>>> greet = 'hello'
>>> greet[0]
'h'

示例2:反向索引第一个元素

>>> greet = 'hello'
>>> greet[-1]
'o'

示例3:通过字符串值直接使用索引

>>> 'hello'[-2]
'l'

示例4:如果一个函数调用返回一个序列,那么可以直接对返回结果进行索引操作。例如,假设你只对用户输入年份的第4个数字感兴趣,那么可以如下操作:

>>> fourth = raw_input("Year:")[3]
Year:2013
>>> fourth
'3'

分析:raw_input返回的是一个字符串序列,输入的是2013,再进行索引4号元素,即3

代码示例:
下面是一个示例程序,它要求输入年、月、日,然后按照如下格式打印:August 16th.1974


View Code

2.2 分片                              

  与使用索引来访问单个元素类似,可以使用分片操作来访问一定范围内的元素。分片通过冒号相隔的两个索引来实现:

tag = 'http://www.cnblogs.com/people/p/3230193.html'
>>> tag[7:22]
'www.cnblogs.com'
View Code

相关文章:

  • 2021-09-06
  • 2021-09-21
  • 2021-06-16
  • 2021-08-05
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-05
  • 2022-12-23
  • 2021-09-21
  • 2022-01-31
  • 2021-10-18
  • 2021-12-06
  • 2021-07-24
相关资源
相似解决方案