序列 (python)

来源:互联网 发布:mac换行按键 编辑:程序博客网 时间:2024/04/28 01:33

序列

Python中的序列类型,其成员有序排列,可以通过下标偏移量访问到它的一个或多个成员。因为这些类型其实都是由一些成员共同组成的一个序列整体,所以统称为序列。 
序列类型包含:字符串(普通字符串和unicode字符串)、列表和元组。

1 操作符

1.1 标准操作符

对象值比较:比较操作是针对对象的值进行的。

<   >   <=   >=   ==   !=   <>

对象身份比较:

obj1 is obj2       obj1 和obj2是同一个对象,等同于 id(obj1)==id(obj2)obj1 is not obj2   obj1 和obj2不是同一个对象

bool类型:

not and or     优先级依次降低

1.2 序列类型操作符

成员关系操作符(int、not in):用来判断一个元素是否属于一个序列。

对象 [not] in 序列

连接操作符(+):把一个序列与另个一个相同的序列连接起来。

seq1 + seq2

对字符串来说,该操作不如把所有子字符串放到一个列表或者可迭代对象中,然后调用join. 对列表来说,推荐用extend()来合并多个列表对象。

重复操作符(*):把一个序列拷贝多份

seq * copies

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

seq[index]

正索引 0 <= index <= len(seq)-1 
负索引 -len(seq)<= index <= -1 
正负索引的区别在于,正索引以序列的开始为起点,负索引以序列的结束为起点。

seq[start_index:end_index]

可以得到从起始索引到结束索引(不包括结束索引)之间的一片元素。起始索引和终止索引都是可选的。并且,开始索引和结束索引值可以超过字符串的长度。

seq[start_index:end_index:step]

第三个索引被用作步长参数。step为负数,可以认为是翻转操作。

None使用来迭代显示整个字符串:

>>> t'abcde'>>> for i in [None].extend(range(-1,-len(t),-1)):...     print t[:i]... Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: 'NoneType' object is not iterable>>> for i in [None] + range(-1,-len(t),-1):print t[:i] ... abcdeabcdabcaba>>> 

2 内建函数(BIF)

2.1 类型转换

内建函数list(),str(),tuple(),被用做各类序列之间转换。

list(iter)     将可迭代对象转换为列表str(obj)       把obj对象转化成字符串unicode(obj)   将对象转化为Unicode字符串basestring()   string和unicode的父类,不能实例化tuple(obj)     把一个可迭代对象转换成一个元组对象

2.2 操作

enumerate(iter)    接受一个可迭代对象作为参数,返回一个enumerate对象,                   该对象由iter每个元素的index和item值组成的元组len(seq)           返回seq的长度max(iter,key=None) 返回iter中的最大值min(iter,key=None) 返回iter中的最小值reversed(seq)      返回逆序的迭代器sorted(iter,       接受一个可迭代对象作为参数,      func=None,   返回有序列表      key=None,      reverse=False)       sum(seq,init)     返回seq和可选参数init的总和zip([it0,..,itN])  返回一个列表,第一个元素是it01,ite1等的依次第一个,第二个元素

0 0
原创粉丝点击