序列(sequence):
1、基本信息
1)python中最基本的数据结构
2)每个元素被分配一个序号,即元素的位置—索引
第一个索引是0
3)包含6中内建序列:列表、元组、字符串、Unicode字符串、buffer对象
和xrange对象
2、序列通用操作
0)初始化:
空列表:seq=[] 表示什么都没有
一定长度的空列表:seq=[None]*10
1)索引
负数索引,从最后一个元素开始“-1”
‘Hello’[3] ;
函数调用返回序列,可直接对函数返回结果进行索引
2)分片:访问一定范围内的区间
seq[3:10] 返回seq[3]~seq[9]
seq[-3:] 返回list[-3]后所有元素
seq[3:-1] 同时使用两种计数方式
seq[4:10:2]设置步长为2;步长也可为负数。从右往左取
3)相加:通过“+” 连接两个相同的序列
4)乘法:[4]*5 -->[4,4,4,4,4]
5)成员资格:”in” 布尔运算
6)len min max 长度 最小 最大
列表:[ ]可变
1、list函数:
序列—>列表 ‘hello’-->[‘h’,’e’,’l’,’l’,’o’]
‘ ‘.join(somelist)将somelist列表转化为字符串
2、列表的基本操作
1)改变列表:元素赋值 na[1]=2
2)删除元素:delna[1] 彻底删除列表长度变短
3)分片赋值:
一次为多个元素赋值;
不等长序列可相互替换;
//插入新元素;na[1:1]=[1,2]
//删除元素;替换空元素na[1:1]=[]
4、列表方法
1)append 在列表末尾增加新元素(直接修改原来的列表,不是返回新列表)
2)count 计算元素在列表中出现次数
3)extend 用新列表在末尾扩展原有列表,改变原有列表
与连接操作不同:连接返回新列表,不会改变原有列表
4)index 元素第一个对应的索引号
5)insert(索引,元素) 插入到索引号的位置
6)pop(索引号) 移除索引代表的元素,默认为最后一个
唯一一个修改列表,又返回元素值得方法
7)remove(元素) 移除列表中元素的第一个匹配项 无返回值
8)reverse() 反向存放元素,改变列表,无返回
reversed(列表)反向迭代,返回迭代器。list(reversed(na)) 转列表
9)sort() 升序排序 改变原来的列表
若不改变原有列表排序:
方法一:先创建副本,对副本排序
创建副本:y=x[ : ] ;
y=x (×) 指向同一个列表
方法二:y=sorted(x) 可用于任何序列,但总是返回列表
10)高级排序
自定义cmp或key 参数用于sorted函数
元组:不可变
1、 一个值的元组:(1,)
2、 tuple: 序列—>元组