Python的序列包含多种,像字符串,列表,字典这样都是。下面来介绍序列类型的几个常用公共方法。
- 运算符
is, is not 是用于身份比较的关系运算符,返回的是BOOL值
in 可以用来判断该元素是否在序列内,当然也是返回BOOl值
’+‘表示连接
sequence * n: 表示将sequence的内容整体复制n份来构造一个新的sequence,比如:
a=[1,2,3]
b=a*3
c=[a]*3
print b
print c
“”“
[1, 2, 3, 1, 2, 3, 1, 2, 3]
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
”“”
2.公共方法
reversed(seq) 返回一个新的sequence类型,将seq内容逆序。这一点不同于string,list 的.reverse()方法
a=[1,0,9,8,3,1]
for i in reversed(a):
print i
len(seq) 求seq长度
enumerate(seq) 返回一个枚举类型,每一个元素是元组类型,标号默认从0开始、
sorted(seq,cmp = None, key = None, reversed = false)
返回一个序列,与list专有函数sort区别的是,他并不改变原sequence顺序,而是生成一个新的sequence。
key:
是指定用序列中哪个值进行排序,不过key接受一个函数,要 求另外定义一个函数,该函数返回seq要排序的量。
cmp:
同样接受一个函数名,也需要自己定义,规定具体的比较方法。不过返回值只能是-1,0,1
reversed:false时从小到大,true时逆序
下面我们用key的例子:
def last(m):
return m[-1]
def sort_last(tuples):
tuple = sorted(tuples, key = last)
return tuple
print sort_last([(1, 3), (3, 2), (2, 1)]),
[(2, 1), (3, 2), (1, 3)]
”“”
(2, 1), (3, 2), (1, 3)
“”“
zip(seq1,seq2):它的作用就是匹配,zip会将传入两个序列中的元素依次匹配,构成一个元组,左中函数生成一个元组列表。当然最终列表中元组个数由长度较小的序列长度决定。比如,
list1 = ['a','b','c','d']
list2 = [1,2,3]
tu1=('zz','xx','cc')
tu2= 5,6,8
print zip(tu1,tu2)
print zip(list1,list2)
"""
[('zz', 5), ('xx', 6), ('cc', 8)]
[('a', 1), ('b', 2), ('c', 3)]
"""