Python基础--通用序列操作


Python 继续

Python包括6种内建的序列,分别是:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。我们将逐步进行介绍。

今天主要介绍一下通用序列操作。放之四海而皆准!

1 索引
所有程序员都知道,索引下标从零开始,Python也是这样, 索引0指向序列中第一个元素。

但是与C++相比,Python又增加了负索引,最后1个元素的索引是-1,从右至左是-2,-3 …

字符串字面值直接可以索引:

>>>'Hello'[1]
e

2 分片
分片通过冒号隔开两个索引实现。

>>>str = 'write.blog.csdn.net'
>>>str[6,10]
blog

这里需要注意的是:第一个索引是要提取的第一个元素的编号,而最后的索引是分片之后剩余部分的第一个元素的编号。

优雅的捷径:
已知一序列,访问后三个元素

>>>number = [1,2,3,4,5,6,7,8,9,10]

法一:

>>>number[7:10]
[8,9,10] 

法二(失败):

>>>number[-3:-1]
[8,9] 

>>>number[-3:0]
[] 

说明:分片中最左边的索引比它右边的晚出现在序列中,结果就是一个空序列。

法三:

>>>number[-3:]
[8,9,10] 

说明:如果分片所得部分包括序列结尾的元素,那么,最后一个索引置空就可以。

第一个索引为空:

>>>number[:3]
[1,2,3] 

两个索引都置空,复制整个序列:

>>>number[:]
[1,2,3,4,5,6,7,8,9,10]

三个参数的分片:
第三个参数为步长

>>>number[::4]
[1,5,9]

3 序列相加
不同类型的序列不要相加

>>>[1,2,3]+[4,5,6]
[1,2,3,4,5,6]

4 序列乘法
数字x乘以一个序列,产生的新序列将原来的序列重复x次:

>>>'Python'*5
'PythonPythonPythonPythonPython'

5 成员资格
检查一个值是否在序列中。in运算符,返回True或False

>>>permissions = 'rw'
>>>'w' in permissions
True

6 长度、最小值、最大值
内建len min max用处特别大。
这里跟C++没有什么区别,就不再赘述了。

评论关闭