在python中,序列类型包括字符串(普通字符串和unicode字符串)、列表和元组,所谓序列,即成员有序排列,可通过下标访问。假设序列有n个元素,访问单个元素时,下标从0开始,到n-1结束,如果是逆序访问,下标从-1开始,到-n结束,切片操作支持多个元素的访问。
序列类型支持如下操作符——
in/not in:成员关系操作符
obj [not] in sequence:判断obj元素是否(不)属于sequence序列。
+:连接操作符
sequence1 + sequence2:连接两个同类型序列。
*:重复操作符
sequence * copies_int:sequence序列重复copies_int次。
[]、[:]、[::]:切片操作符
sequence[index]:访问单个元素。
sequence[starting_index:ending_index]:访问始末下标间的元素,支持None作为索引值,等同于不指定这个索引值。
sequence[starting_index:ending_index:step]:访问始末下标间的元素,指定元素间的步长支持None作为索引值,等同于不指定这个索引值。
序列类型可用如下内建函数——
list(iter):把可迭代对象转换为列表。
str(obj):把obj对象转换为字符串,即用字符串来表示这个对象。
tuple(iter):把一个可迭代对象转换为一个元组。
unicode(obj):把对象转换成Unicode字符串。
basestring():抽象工厂函数,其作用仅仅是为str和unicode函数提供父类,所以不能被实例化,也不能被调用。
enumerate(iter):接受一个可迭代对象作为参数,返回一个enumerate对象,该对象生成由iter每个元素的index值和item值组成的元组。
len(seq):返回seq的长度。
max(iter,key=None)、max(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最大值,如果指定了key,这个key必须是一个可以传给sort()方法的,用于比较的回调函数。
min(iter,key=None)、min(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最小值,如果指定了key,这个key必须是一个可以传给sort()方法的,用于比较的回调函数。
reversed(seq):接受一个序列作为参数,返回一个以逆序访问的迭代器。
sorted(iter,cmp=None,key=None,reverse=False):接受一个可迭代对象作为参数,返回一个有序的列表,可选参数cmp、key和reverse和list.sort()内建函数含义一样。
sum(seq,init=0):返回seq和可选参数init的总和,其效果等同于reduce(operator.add,seq,init)。
zip([it0,it1...]):返回一个列表,其第一个元素是it0、it1...这些元素的第一个元素组成的一个元组,其它元素依次类推。
python字符串——
字符串类型是python里面最常见的类型,是不可变类型,支持单引号、双引号、三引号,三引号是一对连续的单引号或者双引号,允许一个字符串跨多行。
字符串连接:前面提到的+操作符可用于字符串连接,还可以直接把几个字符串连在一起写,另外调用join()方法也可以连接字符串。
只适用于字符串连接的操作符:前面提到了一些序列类型共用的操作符,除此之外,字符串还有只属于自己的操作符,包括格式控制操作符%、字符串模板string.Template、原始字符串操作符r/R、Unicode字符串操作符u/U。
下面列举一些与字符串类型有关的模块。
string:字符串操作相关函数和工具,比如Template类。
re:正则表达式,强大的字符串模式匹配模块。
struct:字符串和二进制之间的切换。
c/StringIO:字符串缓冲对象,操作方法类似于file对象。
base64:Base16,32,64数据编解码。
codecs:解码器注册和基类。
crypt:进行单方面加密。
difflib:找出序列间的不同。
hashlib:多种不同安全哈系算法和信息摘要算法的API,python2.5废除。
hma:HMAC信息鉴权算法的python实现。
md5:RSA的MD5信息摘要鉴权。
rotor:提供多平台的加解密服务。
sha:NIAT的安全哈系算法SHA。
stringprep:提供用于IP协议的Unicode字符串。
textwrap:文本打包和填充。
unicodedata:Unicode数据库。
python列表——
python列表用方括号[]表示,有容器和可变的特性,这使得它非常灵活,用来构建其它的数据结构不是件难事,比如说堆栈或队列。
python元组——
python元组用圆括号()表示,是跟列表非常接近的另一种容器类型,不同的是,元组为不可变类型。所有多对象的、逗号分隔的、没有明确用符号定义的集合的默认类型为元组。
下面再列举一些与序列类型有关的模块。
数组:一种受限制的可变序列类型,要求所有的元素必须都是相同的类型。
copy:提供浅拷贝和深拷贝能力,深拷贝deepcopy()只对可变类型有效。
operator:包含函数调用形式的序列操作符。
types:包含python支持的所有类型。
collections:高性能容器数据类型。
原文地址:http://blog.csdn.net/ieearth/article/details/45497933