Sequence types - str, unicode, list, tuple, bytearray, buffer, xrange

来源:互联网 发布:淘宝牙牙的肉肉 编辑:程序博客网 时间:2024/05/21 14:55

翻译来自于python 2.7 官方文档:https://docs.python.org/2.7/library/stdtypes.html#typesseq

python中有七种序列类型:strings,Unicode strings,lists,tuples,bytearrays,buffers,和xrange对象。

关于其他的容器请看dict和set类,以及collections模块。

String是由单引号或者双引号括起来的字符串。Unicode String则是在引号括起来的字符串前面有一个‘u’。Lists是由方括号括起来的对象。Tuples是由逗号分开的元素组成的,可有圆括号可无,但是一个空的tuple必须要有圆括号,如果是只含有一个元素的tuple必须在元素后面跟随一个逗号,如(d,)。

Bytearray对象是由built-in function bytearray()创建出来的。

Buffer对象没有被Python语法直接支持,但是可以通过内建的方法buffer()创建,其不支持连接和重复。

Xrange的对象和Buffer一样没有特殊的语法创建,但是可以通过xrange()。其不支持切片、连接和重复,而且如果使用in, not in, min() or max()在这些对象上的话,是非常低效的。

这些线性的类型除了支持常用的下标访问、切片、重复、in、not in之外,还支持max(s)和min(s)函数,也就是在s中的最大的元素或者最小的元素。另外还支持s.index(x)找到s中第一次出现x的下标,s.count(x)计数s中x出现的次数。

注意:

>>> lists = [[]] * 3>>> lists[[], [], []]>>> lists[0].append(3)>>> lists[[3], [3], [3]]
其中序列的重复仅仅是进行浅拷贝操作,如果想进行深拷贝,可以使用下面的方法。

>>> lists = [[] for i in range(3)]>>> lists[0].append(3)>>> lists[1].append(5)>>> lists[2].append(7)>>> lists[[3], [5], [7]]


5.6.1 String Methods

str.capitalize()

返回第一个字母大写其他字母小写的字符串拷贝,原字符串不变。

str.center(width[, fillchar])

返回一个以原字符串为中心的长度为width的字符串,如果原字符串长度不够使用fillchar进行填充。

str.count(sub[, start[, end]])

返回子串sub不互相覆盖在范围[start, end]中出现的次数。

str.isalnum()

返回字符串是否全为数字或者字母组成。

str.isalpha()

返回字符串是否全为字母组成的。

str.isdigit()

判断字符串是否全为数字组成。

str.partition(sep)

返回一个三个元素的tuple,第一个元素为sep前面的子串,sep,和sep后面的子串部分。









0 0