码迷,mamicode.com
首页 > 编程语言 > 详细

python序列类型

时间:2015-05-05 10:45:24      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:python   python序列   

python中,序列类型包括字符串(普通字符串和unicode字符串)、列表元组,所谓序列,即成员有序排列,可通过下标访问。假设序列有n个元素,访问单个元素时,下标从0开始,到n-1结束,如果是逆序访问,下标从-1开始,到-n结束,切片操作支持多个元素的访问。

序列类型支持如下操作符——

in/not in:成员关系操作符

obj [not] in sequence:判断obj元素是否(不)属于sequence序列。

+:连接操作符

sequence1 + sequence2:连接两个同类型序列。

*:重复操作符

sequence * copies_intsequence序列重复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():抽象工厂函数,其作用仅仅是为strunicode函数提供父类,所以不能被实例化,也不能被调用。

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):接受一个可迭代对象作为参数,返回一个有序的列表,可选参数cmpkeyreverselist.sort()内建函数含义一样。

sum(seq,init=0):返回seq和可选参数init的总和,其效果等同于reduce(operator.add,seq,init)

zip([it0,it1...]):返回一个列表,其第一个元素是it0it1...这些元素的第一个元素组成的一个元组,其它元素依次类推。


python字符串——

字符串类型是python里面最常见的类型,是不可变类型,支持单引号、双引号、三引号,三引号是一对连续的单引号或者双引号,允许一个字符串跨多行。

字符串连接:前面提到的+操作符可用于字符串连接,还可以直接把几个字符串连在一起写,另外调用join()方法也可以连接字符串。

只适用于字符串连接的操作符:前面提到了一些序列类型共用的操作符,除此之外,字符串还有只属于自己的操作符,包括格式控制操作符%、字符串模板string.Template、原始字符串操作符r/RUnicode字符串操作符u/U


下面列举一些与字符串类型有关的模块。

string:字符串操作相关函数和工具,比如Template类。

re:正则表达式,强大的字符串模式匹配模块。

struct:字符串和二进制之间的切换。

c/StringIO:字符串缓冲对象,操作方法类似于file对象。

base64Base16,32,64数据编解码。

codecs:解码器注册和基类。

crypt:进行单方面加密。

difflib:找出序列间的不同。

hashlib:多种不同安全哈系算法和信息摘要算法的APIpython2.5废除。

hmaHMAC信息鉴权算法的python实现。

md5RSAMD5信息摘要鉴权。

rotor:提供多平台的加解密服务。

shaNIAT的安全哈系算法SHA

stringprep:提供用于IP协议的Unicode字符串。

textwrap:文本打包和填充。

unicodedataUnicode数据库。


python列表——

python列表用方括号[]表示,有容器和可变的特性,这使得它非常灵活,用来构建其它的数据结构不是件难事,比如说堆栈或队列。


python元组——

python元组用圆括号()表示,是跟列表非常接近的另一种容器类型,不同的是,元组为不可变类型。所有多对象的、逗号分隔的、没有明确用符号定义的集合的默认类型为元组。


下面再列举一些与序列类型有关的模块。

数组:一种受限制的可变序列类型,要求所有的元素必须都是相同的类型。

copy:提供浅拷贝和深拷贝能力,深拷贝deepcopy()只对可变类型有效。

operator:包含函数调用形式的序列操作符。

types:包含python支持的所有类型。

collections:高性能容器数据类型。


python序列类型

标签:python   python序列   

原文地址:http://blog.csdn.net/ieearth/article/details/45497933

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!