序列

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

序列类型

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

序列类型操作符

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

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

>>>'a'in'ability'
True
>>>'jon'notin['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

>>>'giveme!'*2
'giveme!giveme!


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

作用:通过指定下标的方式获得某一数据元素,或通过指定下标范围获得一组序列的元素。 语法格式: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'
>>>foriin[None]+range(-1,-len(s),-1):
prints[: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...)返回一个列表,列表的每一个元素是参数列表的值组合