- A+
序列sequence是python中最基本的数据结构,本文先对序列做一个简单的概括,之后简单讲解下所有序列都能通用的操作方法。
序列概念
列表和元组这两种数据类型是最常被用到的序列,python内建序列有六种,除了刚刚有说过的两种类型之外,还有字符串、Unicode字符串、buffer对像和最后一种xrange对像,这几种都是不常使用的。
序列通用操作方法
所有序列类型有一些可以通用的方法,比如:索引、分片、乘、加,检查成员资格。当然还有一些很实用的内建函数,像是计算序列长度,找出序列中的最大或最小无素等。下来就来一一的介绍下序列的基本操作方法吧。
什么是索引:序列中的每一个元素都有自己的位置编号,可以通过偏移量索引来读取数据。最开始的第一个元素,索引为0,第二个元素,索引为1,以此类推;也可以从最后一个元素开始计数,最后一个元素的索引是-1,倒数第二个元素的索引就是-2,以此类推。
>>> x = 'www.AnYun.ORG'
>>> x[0]
'w'
>>> x[-1]
'm'
什么是切片:切片简单的来说就是取出一个范围内的元素。
>>> x[4:-4]
'iplaypython'
序列相加:相同数据类型序列之间可以相加,不同数据类型序列不能相加。
列表类型序列相加
>>> [1,2]+[3,4]
[1, 2, 3, 4]
字符串类型序列相加
>>> 'hello'+'.python'
'hello.python'
元组类型序列相加
>>> (1,2,3)+(4,5,6)
(1, 2, 3, 4, 5, 6)
>>> a = (1,2,3)
两种不同数据类型的序列相加,会引发错误异常
>>> [1,2]+'hello'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate list (not "str") to list
序列乘法:把原序列乘X次,并生成一个新的序列
>>> [1,2]*3
[1, 2, 1, 2, 1, 2]
成员资格:检查某个指定的值是否在序列中,用in布尔运算符来检查,其返回值为True/False。True为真,在这里可以理解为要查找的值在序列中,False结果与其相反。
>>> a = 'AnYun.ORG'
>>> 'i' in a
True
>>> 'w' in a
False
序列内建函数:len()函数计算序列内元素数量;min()函数、max()函数分别查找并返回序列中的最大或最小元素。
>>> num = [99,1,55]
>>> len(num)
3
>>> min(num)
1
>>> max(num)
99
在操作一组数据时,序列是很好用的数据结构。列表、元组和字符串这几种数据类型是比较常接触到的序列。除了以上讲的序列基本操作方法之外,还有一个比较重要的序列迭代没有讲,这部分内容会单独做讲解。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫