Python内建序列6种:
列表
元组
字符串
Unicode字符串
buffer对象
xrange对象
列表可修改,元组不能
(列表都可以代替元组,除非作为字典的键,键不可修改)
序列操作:
1.索引:获取某一元素
从左向右从0开始
从右向左-1开始
2.分片:访问一定范围元素
分片中为冒号
eg liwei[3:15]
分片中第一索引为第一元素,最后索引不取
捷径:置空 eg [:3],[-3:],:
步长:平常隐式,步长为1,显式eg:[0:10:4],[::4]
步长不可为0,可为负数,从右向左提取,eg[8:3:-1],[:5:-2],[::-2],[5::-2]
3.相加:可进行连接操作
不同类型不能连接
4.乘法:原来的序列可重复多次
None,=【】
5.成员资格:检查一个值是否在序列中,返回值为布尔类型
eg:raw_input("输入你的名字:") in users
6,长度 最大值 最小值(内建函数)
len max min
eg:numbers=[1,2,3]
len(numbers)
max(numbers)
min(numbers)
列表:
list函数:创建转换为列表
1.改变列表:元素赋值
eg:x[1]=3;
2.删除元素:
eg:del x[1];
3.分片赋值:
可以插入 删除元素
eg:
name=list('pral')
name[2:]=['a','r']
插入 name[1:1]=[2,3,4]
删除 name[1:5]=[]
列表方法:
append:追加 x.append(4)
count:统计出现次数 x.count([1,2])
extend:末尾追加另一序列 a.extend[b]
连接只返回一个新的列表,extend修改了序列,分片赋值也可以,可读性不强
index:找出第一个匹配项索引位置,否则引发异常 x.index['who']
insert:对象插入到列表中 x.insert(3,'liwei')
分片赋值可以,可读性不强
pop:移除列表中的一个元素(默认最后一个),并返回元素值(唯一一个既修改列表又返回元素值的方法)
x.pop(),x.pop(0)
remove:移除某个值第一个匹配项,不存在引发异常,没有返回值(与pop相反)
x.remove('liwei')
reserve:将元素反向存放,不返回值 x.reserve()
sort:改变原列表,使之按一定顺序排序,(无返回值)x.sort()
获取已排序
sorted:已排序的(有返回值) sorted(x)
x.sort().reserve()->x sorted(x).reserve()->正确
高级排序:sort参数 cmp,key,reverse
元组:不可变序列
创建:用逗号分割一些值,大部分用括号括起来
空元组 ()
只含一个元素 加逗号(42,)
tuple:与list基本一样,将序列转化为元组