06 2020 档案
摘要:load average是CPU的性能参数。 也就是说,load average只跟CPU有关。 CPU慢了有哪几种情况呢? 1、CPU本身:密集型计算进程导致CPU异常繁忙。 2、CPU本身:要运行的进程非常多(4C8G上白进程正在排队使用CPU),CPU中断进程要不断分配时间给各进程。导致各进程
阅读全文
摘要:字典的实现方式 拉链法 i = hash(key) % solt 假设槽位有32个, 那么得到的值很有可能会有冲突, i为最后的该值处于哪个槽位。 将每个槽位做一个列表, 存值的时候append, 取值的时候遍历。 如果算法足够好的话, 就几乎能实现近似O(1)了 实现: In [58]: solt
阅读全文
摘要:字典 字典是一种key-value结构 字典对象操作 新建字典 方式1:d = 方式2:d = dict() 方式3:d = {'a':1, 'b': 2} 方式4:d = dict([('a',1), ('b', 2)]) # 可迭代对象的元素必须是一个二元组, 二元组的第0个元素为字典的key,
阅读全文
摘要:可迭代对象与迭代器 可迭代对象 1、什么是可迭代对象 有__iter__方法的叫可迭代对象 可以在for .. in ..语句出现的对象 例:有__iter__方法的叫可迭代对象 In [10]: r = range(5) In [11]: r.__iter__ # 有__iter__方法的都叫可迭
阅读全文
摘要:解析式 举例场景:对一个列表所有的数值求平方 普通用法 In [15]: ret = [] ...: for x in range(10): ...: ret.append(x ** 2) ...: print(ret) ...: [0, 1, 4, 9, 16, 25, 36, 49, 64, 8
阅读全文
摘要:集合运算 交集运算 存在集合A和B, 对于集合C, 如果C的每个元素即是A的元素, 又是B的元素, 并且A和B所有相同的元素都在C找到, 那么C是A和B的交集。具体请参考如下实例。 交集运算方法: s1.intersection(s2) s1.intersection_update(s2):_upd
阅读全文
摘要:成员运算符 成员运算符的目的:用于判断一个元素是否在容器中 成员运算符:返回的是bool in not in In [68]: 3 in [1, 2 ,3 ,4 ] Out[68]: True In [69]: 10 in [1, 2, 3, 4] Out[69]: False In [71]: 1
阅读全文
摘要:集合set 集合是数学意义上的集合 特征:没有重复元素 集合对象操作 定义集合 方法1:s = set() 方法2:s = {1, 2, 3} 方法3:s = set(range(3)) # 初始化一个可迭代对象 删除集合 需要使用del方法删除 截至2020年5月23日,本人暂时还未发现其他的方法
阅读全文
摘要:解构与封装 解构 什么是结构?如下讲两个例子 解构:按照元素顺序, 把线性结构的元素赋值给变量。 简单一点的例子 In [26]: x = 1 In [27]: y = 2 In [28]: tmp = x In [29]: x = y In [30]: y = tmp In [31]: print
阅读全文