Python之序列详解

序列

一种数据结构,成员有序排列,可通过下标偏移量访问它的一或多个成员。

序列类型

字符串(普通字符串和unicode字符串)、列表和元组

序列类型操作符

成员关系操作符(in,not in)

作用:判断一个元素是否属于一个序列        语法格式:对象 [not] in 序列

>>> 'a' in 'ability'
True
>>> 'jon' not in ['job','Tom','Tony']
True


连接操作符(+)

作用:把一个序列和另一个序列连接起来     语法格式:sequence1 + sequence2

>>> 'sequence' + 'copy'
'sequencecopy'

把所有的子字符串放到一个列表或可迭代对象中,调用join方法把所有内容连接在一起节约内存

>>> ''.join(['sequence','copy'])
'sequencecopy'

合并两个或者多个列表,不依赖于方法的返回值

>>> s = [1,2,3]
>>> x = [4,5,6]
>>> s.extend(x)
>>> s
[1, 2, 3, 4, 5, 6


重复操作符(*)

作用:获取一个序列的多份拷贝,该操作符返回一个新的包含多份原拷贝的对象      语法格式:sequence * copies-int

>>> 'give me! '* 2
'give me! give me!


切片操作符([],[:],[::])

作用:通过指定下标的方式获得某一数据元素,或通过指定下标范围获得一组序列的元素。     语法格式:seq[index], seq[start:end], seq[start:end:step]

索引值:0 <= index <=len(seq)-1 和 -len(seq) <= index <=-1

>>> names = ('Faye','Leana','Daylen')
>>> names[1]
'Leana'
>>> ('Faye','Leana','Daylen')[1]
'Leana

seq[start:end]不包括结束索引值,如果没有提供索引值或者用None作为索引值,切片操作会从序列的最开始处开始,或者直到序列的最末尾结束

>>> names[0:2]
('Faye', 'Leana')

实现字符串翻转

>>> s = 'abcdefg'
>>> s[::-1]
'gfedcba'


小试牛刀:有一个字符串,通过一个循环按照这样的方式显示它:每次都把位于最后一个字符砍掉

>>> s = 'abcde'
>>> for i in [None] + range(-1,-len(s),-1):
        print s[:i]
abcde
abcd
abc
ab
a


内建函数(BIF)

类型转换

函数 含义
list(iter) 把可迭代对象转换为列表
str(obj) 把obj转换成字符串
unicode(obj) 把obj转换成unicode字符串
basestring() 为str和unicode函数提供父类
tuple(iter) 把一个可迭代对象转换成一个元组对象

    

可操作

函数名 功能
enumerate(iter) 该对象生成iter每个元素的index值和item值组成的元组
len(seq) seq的长度
max(arg0,arg1...) 最大值
min(arg0,arg1...) 最小值
reversed(seq) 返回一个逆序访问的迭代器
sorted(iter) 返回一个有序列表
sum(seq) seq的和
zip(it0,it1...) 返回一个列表,列表的每一个元素是参数列表的值组合


猜你喜欢

转载自blog.51cto.com/13646338/2315462