您的位置:首页 > 产品设计 > UI/UE

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

2014-05-04 21:23 288 查看
翻译来自于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后面的子串部分。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: