您的位置:首页 > 编程语言 > Python开发

Python中序列的通用操作

2017-02-23 00:07 363 查看
Python中序列包括列表list、元组tuple、字符串、Unicode字符串、buffer对象以及xrange对象六种。对于Python中的序列,有一些通用的操作,如下:
(1)索引
序列中的元素都是有编号的,从0开始递增。我们可以使用sequence[index]的方式访问序列中第index位置处的元素。注意index可以是正数,也可以是负数。-1表示的最后一个元素,-2表示倒数第二个元素,依次类推。举例来说:
str = 'beijing'
print str[2]         #输出为i
print 'shanghai'[3]  #输出为n
print 'wuhan'[-2]    #输出a


(2)分片
与使用索引来访问单个元素类似,可以使用分片操作来访问一定范围内的元素,即使用sequence[start:end]来访问序列中若干元素。关于分片有几个需要注意的点:
A)使用sequence[start:end]可以获取到序列中大于等于start,小于end范围内的元素。注意不包括end所在位置处的元素
B)sequence[start:end]中start和end可以是正数,也可以是负数。-1表示是最后一个元素所对应的索引。
C)sequence[start:end]中start所指的元素要出现在end所指的元素的前面。否则分片的结果是一个空list
D)sequence[start:end]中,若start省略掉,表示从第一个元素开始。若end省略掉,表示分片直到最后一个元素结束。注意end省略,和-1的效果是不一样的哦,若为-1的话,分片的结果是不包括最后一个元素的。而end省略,是包括最后一个元素的。
E)sequence[start:end:step]可以使用指定的步长step来分片,步长step可以是正数,也可以是负数。如果step是正数,那么分片会从序列的头部开始向右提取元素。如果step是负数,那么分片会从序列的尾部开始向左提取元素。举例来说:
elements = [1, 2, 3, 4, 5, 6,7, 8, 9, 10]
print elements[2:4]    #输出[3, 4]
print elements[-3:-1]  #输出[8, 9]
print elements[-3:0]   #输出[],因为-3所指的元素在0所指的元素的后面
print elements[:3]     #输出[1, 2, 3]
print elements[-3:]    #输出[8, 9, 10]
print elements[:]      #copy出一个新的elements列表
print elements[-3:-1]  #输出[8, 9]
print elements[0:10:2] #输出[1, 3, 5, 7, 9]
print elements[10:0:-2]  #输出[10, 8, 6, 4, 2]

(3)加
通过使用加号+可以进行序列的连接操作,举例来说:
print [1, 2, 3] + [4, 5, 6]   #输出[1, 2, 3, 4, 5, 6]
print 'hello' + 'world'       #输出helloworld

(4)乘
用序列乘以一个数字n会生成一个新的序列,而在新的序列中,原来的序列将被重复n次。举例来说:
print 'python' *2    #输出pythonpython
print [2, 3] * 3     #输出[2, 3, 2, 3, 2, 3]
print [None] * 2     #输出[None, None]

(5)成员资格判断
可以使用in操作符,来检查一个值是否在序列中。举例来说:
str = 'helloworld'
print 'w' in str   #输出为True


(6)通用的内建函数
一些python内建函数,可以作用于序列。比如len、min以及max等。举例来说:
elements = [34, 56, 13]
print max(elements)
print min(elements)
print len(elements)
print max(3, 5)     #这里并没有使用序列,注意
print min(3, 7, 2)  #这里并没有使用序列,注意
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: