引言
python中最基本的数据结构是 序列
包含6中内建序列
1 列表
2 元组
3 字符串
4 Unicode字符
5 buffer对象
6 xrange对象
序列通用操作
1 索引
序列中所有元素都是有编号的,从0开始递增
“NIHAO”[0]
序列为负数 表示从右往左数,最右边的为 -1
2 分片
获取一定范围内的元素,左闭右开 [1,4)
分片操作既支持正数索引,也支持负数索引
如果要右边获取末尾的所有元素,[1:] 即可,同理[:-1]也可以获取左边
分片可以设置步长,步长也可以为负数
[left:right:step]
3 序列相加
使用 + 号 可以拼接序列
列表序列 和 字符串序列 不能连接
4 序列乘号
序列乘数字会得到新的序列,并重复对应的次数
空列表可以简单通过两个中括号([])表示,表示里面什么东西都没有,乘以数字可以表示空间
或者[None]*10 None为python内建值 表示什么都没有
5 in运算符用于检验某个条件是否为真,返回布尔值
a in b
6 内置函数 ,长度,最小值,和最大值
len(),max(), min()
7 list 函数
将序列转化为列表,如list(”HELLO”)
列表
更新列表
1 元素赋值
a[1] = 10
a[2] = “str” 列表内可以有不同类型的值
不能超过列表边界赋值
2 增加元素
a.append(obj) 列表末尾增加新的元素,返回直接修改的原来的列表
3 删除元素
del a[1]
4 分片赋值
可以使用与原序列不等长的序列将分片替换
a[1:1] = [a,b,c,d] 相当于在中间插入了一个序列
所以通过分片赋值删除元素也是可行的
5 嵌套列表
[ ‘A’,[‘c’],[‘d’]]
6 列表方法
列表对象.方法(参数)
1 append 添加元素
2 count 计算某个元素出现的次数
3 extend 添加一个序列的元素 list.extend(seq)
4 index(obj) 获取第一个obj的索引位置
5 insert(index,obj) 对象插入列表
6 pop(obj) 移除元素,不加参数的时候 默认移除最后一个
7 remove(obj)移除某个元素的第一个匹配项
8 reverse 用于反向某个列表
9 sort(func) 对列表进行排序 ,func可选
sort方法 不返回值 所以 n = n.sort() 失败,可以用非对象方法sorted函数替代 n = sorted(n)
sorted函数可以用于任何序列
10 clear() 清空列表
11 copy() 复制列表 ,返回个新的
12 高级排序 sort可以传入 key reverse 参数
元组
Python的元组与列表类似,不同之处在于元组的元素不能修改
用逗号分隔元素 就可以创建元组 “a”,”b” 就是一个元组,可以加圆括号 (“a”,”b”)
可以创建空元组 (),只有一个对象的元组 (“a”,) 必须要逗号
元组不变值得是每个位置的指向不变,指向的对象可以变化
基本操作
1 访问
下标索引
2 修改
无法修改,可以用+号拼接
3 删除
无法删除单个元素,可以用del删除整个元组对象
4 元组索引、截取
可以分片获取数据
字符串
通过引号 ‘’ “”可以创建字符串
过字符串是不可变的,所以字符串做不了分片赋值
可以通过索引和分片获取数据
字符串格式化
字符串对象方法
1 find()方法 检测是否包含子字符串,可以设定开始和结束的位置
2 join()方法,str.jion(sequence) 用字符串将列表元素拼接起来
3 lower()方法 转换为小写
4 upper()方法同理
5 swapcase() 大写变小写 小写变大写
6 replace()方法 把旧字符串 替换为新的 str.replace(old,new)
7 split()方法, 将字符串用指定符号分割为字符串列表,可以指定从左到右的分割次数
8 strip()方法,移除字符串头尾的空格
9 translate()方法,通过表翻译字符串