内置数据结构分类
类型 | 种类 |
---|---|
数值型 | int、float、complex、bool |
序列对象 | str、list、tuple |
键值对 | set、dict |
数字的处理函数
名称 | 作用 | 名称 | 作用 |
---|---|---|---|
round | 四舍六入五取偶 | min() | 取最小值 |
floor | 向下取整 | max () | 取最大值 |
ceil | 向上取整 | pow (x,y) | x**y,x的y次方 |
int | 取整数部分 | math.sqrt | 平方根 |
// | 整除且下向取整 |
类型判断
名称 | 作用 |
---|---|
type(obj) | 是类的判断,返回类型,不是字符串,例:type(str) |
isinstance(obj,class_or_tuple) | 实例判断方法,判断实例是否是属于这一类,返回bool值。例:isinstance(6,(str,bool,int)) |
列表:可变、有序、可索引的线性结构
列表的初始化
- 空列表:list()
- 非空列表: list(iterable)
列表索引访问
索引,也叫下标
正索引:从0开始
负索引:从-1开始
索引越界后,抛:IndexError
列表操作
操作 | 函数 | 返回 | 是否就地修改 | 时间复杂度 |
---|---|---|---|---|
精确查询 | index(value,[start,[stop]]) | 返回索引 | - | O(n) |
统计查询 | count(value) | 匹配value次数 | - | O(n) |
尾部追加 | append(object) | None | 就地修改 | O(1) |
索引插入 | insert(index,object) | None | 就地修改 | O(n) |
可迭代对象增加 | extend(iteratable) | None | 就地修改 | O(k) |
删除 | remove(value) | None | 就地修改 | O(n) |
删除 | pop(value) | None | 就地修改 | O(1)~O(n) |
反转 | reverse() | None | 就地修改 | O(n) |
排序 | sort(key=None, reverse=False) | None | 就地修改,默认升序 | O(n log n) |
成员判断 | in | 布尔值 | - | O(n) |
浅拷贝 | copy(lst) | 新列表 | 非就地修改 | O(n) |
深拷贝 | copy.deepcopy(lst) | 新列表 | 非就地修改 | O(n) |
深拷贝、浅拷贝、“=” 区别
浅拷贝:简单类型拷贝值,复杂对象拷贝引用地址(Point)–补图
深拷贝:完全拷贝,简单类型和复杂类型都拷贝一份–补图
赋值“=”:同一对象,指向的同一地址