python的常用序列
list
1、list(obj)函数 obj可以为:元组(1,2,3),可迭代对象,字符串等转换换成数组类型
2、 列表元素的添加
(1)list+[添加的元素]
(2)list.append(添加元素) (执行更快是+的约70倍)
(3)list.extend(obj) obj为迭代对象,不一定是列表 (效率更高)
(4)list.insert(index,value) 在index的位置插入一个value值
(5)通过乘法来扩展 list*3 表示三份list的值,例 [2,3]*3=[2,3,2,3,2,3] 注:此方法会创建一个新的list,开辟新的地址空间
3、列表元素删除
(1)del(obj) 可删除列表中的元素,也可删除列表本身 注:该函数本身是用于操作变量,元素值属于变量,list本身也属于变量,删除元素值不会改变list地址
(2)list.pop(index /*option*/) 给出index删除list对应下标元素并返回,未给出则默认删除最后一位并返回 注:index超出list范围抛出异常
(3)list.remove(元素) 删除首次出现的元素值 注:不存在抛出异常 注:在使用for循环时,for循环是循环index下标,而当list中的元素增加或减少时list中的元素下标会重新进行编排,这一原因是python中的内存管理所造成的,python会将内紧凑
4、list.index(元素) 访问指定元素所在list中的小标。
5、list.count(元素) 元素在list中出现的次数 注:同可用于迭代对象和元组
6、 元素 (not) in list 返回boolean类型,判断指定元素是否(不)在list中 注:可用在迭代对象和元组
7、list[start:stop:step] list切片 默认从下表0开始,默认步长为1,step省略时可以省略后一个: 注:step=-1表示逆序,start和stop不是下标是位置
8、list.sort() 默认升序排列 list.srot(reverse=True) 逆序排列 对原数列进行修改 注:sorted(list) 生成新的数列
9、list.reverse() 逆序排列 注:reversed(list) 生成新的数列
10、有关list的内置函数
(1)len(列表) 返回长度,同样使用可迭代对象,元组,字典,集合,字符串
(2)max(list) min(list) 返回最大值,字符为ACSII码,键值对为最大值的键,除非指定返回最大的value
(3)sum(list) 求和,为键值对返回键求和,除非指出value求和 sum(a.values())
(4)zip(list1,list2,.....) 返回包含所有list的元组对象,各list变为元组,整体仍为list
(5)enumerate(list) 枚举列表,元组,字典,对象,返回带有下标的对象
11、list列表推导式
[表达式 for 变量 in obj] obj为元组,可迭代对象,序列 生成一个指定的序列
元组
1、tuple(info) 其他内容转化成元组 包含list,string,迭代对象,其他序列类型,也可不指定参数创建一个空元组
2、注: *[],*(),*迭代对象 可进行序列解包(去括号)
3、生成器推导式:(表达式 for 变量 in obj) obj为元组,可迭代对象,序列 生成一个指定的序列 类似于列表推导式
字典(键值对的无序可变序列)
1、dict() 创建字典
(1)dict(zip(list1,list2)) 通过列表进行创建字典
(2)dict(键=value,值=value) 创建键值为相应部分的字典
(3)dict.fromkeys([键1,键2,键3,.....]) 创建键为相应部分的值为空的字典
2、字典元素的获取
(1)直接通过键进行获取 字典[键] 如果字典中没有该键会报错
(2)字典.get(key) 不存在返回none
(3) 字典对象的items() 返回字典的列表对象,key()返回键列表,values()返回值列表
3、字典元素添加与修改
添加:字典名[键]=value 键在该字典中存在为为该键赋值,否则创建该键
修改:字典.update(字典1) 以字典1为基准更新字典,有相同键不同值的则使用字典1
删除:字典.clear() 删除字典的内容保留变量,字典.pop(key) 删除并返回key的元素,字典.del(key) 删除键对应的元素
4、有序字典 collections 包的OrderedDict x=collections.OrderedDict() 创建一个有序的字典
集合(无序可变序列,不允许重复)
1、创建
(1)变量={元素1,元素2,......}
(2)set(obj) 类似于list(),tuple()
2、集合.add(元素) 添加元素, 集合.remove(元素)删除指定元素, a.pop() 取出并删除其中某一元素
3、set1 | set2 或 set1.union(set2)并集
set1 & set2 或 set1.intersection(set2) 交集
set1 - set2 或 set1.difference(set2) 差集(左差)
set1 ^ set2 或 set1.symmetric_difference(set2) 对称差
4、set1.issubset(set2) 判断是否为其子集