python笔记--序列公共函数

来源:互联网 发布:数据在计算机内部传送 编辑:程序博客网 时间:2024/05/22 01:41

Python的序列包含多种,像字符串,列表,字典这样都是。下面来介绍序列类型的几个常用公共方法。

  1. 运算符
    is, is not 是用于身份比较的关系运算符,返回的是BOOL值
    in 可以用来判断该元素是否在序列内,当然也是返回BOOl值
    ’+‘表示连接
    sequence * n: 表示将sequence的内容整体复制n份来构造一个新的sequence,比如:
a=[1,2,3]b=a*3c=[a]*3print bprint 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 tupleprint 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,8print zip(tu1,tu2)print zip(list1,list2)"""[('zz', 5), ('xx', 6), ('cc', 8)][('a', 1), ('b', 2), ('c', 3)]"""
0 0