
python
文章平均质量分 69
nvd11
大龄程序员
展开
-
理解 numpy 中的布尔索引
布尔索引是一种通过使用布尔值(True或False)数组来选择数组中的元素的方法。布尔数组的长度必须与源数组相同,它指示了哪些元素应该被选择或过滤。通过使用布尔索引,我们可以根据指定条件来选择数组中的元素,这些条件可以是基于元素值的比较、逻辑运算符的组合或其他布尔表达式。简单来将, 布尔索引就是让 1个 boolean dtype 的adarray 作为另1个adarry 的 filter, 所以 布尔索引更应该是个filter 而不是 index。原创 2024-05-20 00:26:37 · 1593 阅读 · 0 评论 -
理解numpy中的切片访问
numpy 中的一维数组的切片方法与 python 内置的list 切片类似.arr[0轴上的切片, 1轴上的切片…, n-1轴上的切片]规则, 其实是基于1维数组的。原创 2024-05-19 21:17:33 · 278 阅读 · 0 评论 -
理解 numpy 中数组的索引访问
与python 普通的数组 (list) 一样。numpy 中的ndarray 一样是支持 正向索引 和 负数索引如图如上图 array[1] 和 array[-8] 都是指向 同1个元素 8。原创 2024-05-19 19:29:58 · 368 阅读 · 0 评论 -
numpy 多维数组的轴顺序
我要获取第2行第1个元素(4) 必须用 arr[1,0] , 因为arr[x,y] 中 x是0轴的index, y是1轴的index, 它们的顺序不能乱。其中竖向的是0轴, 横向的是1轴, 他们的顺序不能乱, 因为我们必须以正确的顺序获取元素。所以0轴 所对应的元素是 多个 1维数组, 而1轴(最深轴) 对应的是标量。上图中我用不同的颜色表示第4维, 实际上将多个3维数组 构建称1个4维数组。竖向的轴不再是0轴, 而表示深度的才是0轴, 如上图。这时, 0轴 对应的元素就是2维数组(矩阵)原创 2024-05-19 05:21:17 · 523 阅读 · 0 评论 -
Python 利用迭代器or生成器,让小内存也能处理大文件
首先准备1个log 文件 app.log 它有60000 行数据。原创 2024-05-13 01:51:30 · 327 阅读 · 0 评论 -
Python生成器使用场景2 - 处理无限队列 - 节省cpu 资源
什么是无限队列?例如常见的斐波那契数列, 自然数队列等这次我们用素数队列来举个例子。原创 2024-05-13 00:44:26 · 616 阅读 · 0 评论 -
Python 生成器常用场景一 取代普通迭代器
在上一篇文章已经简单介绍了生成器 是 一种特殊的迭代器而的确, 大部分普通的迭代器是可以被生成器取代的, 以达到简化代码的目的。原创 2024-05-12 23:23:58 · 328 阅读 · 0 评论 -
入门理解python中的generator - 生成器
生成器(Generator)是一种特殊的函数,可以用于迭代地生成一系列值,而不需要一次性生成所有值并将它们存储在内存中。生成器在需要时逐个生成值,并在生成值后暂停执行,保留函数的状态,以便下次调用时能够从停止的地方继续执行。生成器函数使用 yield 语句来定义,而不是常规函数中的 return 语句。当生成器函数被调用时,它返回一个生成器对象,而不是立即执行函数体。每次调用生成器对象的 next() 方法时,生成器函数将从上次执行停止的位置继续执行,直到遇到下一个 yield 语句。原创 2024-05-12 22:43:00 · 2255 阅读 · 1 评论 -
理解python中的Iterator 和 Iterable 迭代器和可迭代对象
Iterable 的中文意思是可迭代对象, 就是可以被循环的对象, 它在内部必须实现__iter__ 方法而iter方法会返回1个 iterator , 所以实际上iterable 是依赖于它内置的 iterator去迭代元素的常见的iterable 有List, Dict, String 等等, 所以它们都是可以用for … in … 来循环的python 不像java 没有内置链表 link list 这个容器.但是我们可以利用迭代器自己写1个, 当然只实现链表部分简单的功能。原创 2024-05-12 02:49:40 · 1249 阅读 · 0 评论 -
理解Python的装饰器 decorator
既然是装饰器, 肯定就是跟设计模式中的装饰模式有关了装饰器就是python 中对装饰模式的一种注解实现,令其可以对其他函数进行一些功能上的增强。住这里的增强并不是真正的修改函数的业务逻辑, 只是前后增加一些步骤。原创 2024-05-06 05:26:17 · 775 阅读 · 0 评论 -
理解 python 中的* 打包和解包
注意, 本文的打包和解包的概念有点类似与java 的装箱和解箱但是还是有点区别java 中的装箱指的是 把一系列的值让放入1个对象的属性中而python的打包概念 包括。原创 2024-05-06 00:59:05 · 1274 阅读 · 0 评论 -
理解 python 中的 import
import x如果想引用x里的所有的对象, 就直接用import x调用x里的对象时必须带上x作为前缀, 例如x.f1()如果执行引入x里的1个或者部分对象, 则用from x import f1会更节省资源.掉用f1时直接调用, 不能带x 作为前缀。原创 2024-05-05 03:30:52 · 1363 阅读 · 0 评论 -
快速构建vscode pytest 开发测试环境
如果不想用 heavy 的pycharmvscode 也是1个很好的选择。原创 2024-05-04 01:57:45 · 1871 阅读 · 0 评论 -
RSA算法的数学原理
具体来说,假设有一个大的合数n,它是两个大的质数p和q的乘积,即n = p * q。这是因为目前已知的最好的分解算法需要指数级的时间和计算资源,随着p和q的位数增加,算法的时间和资源需求呈指数级增长。随着计算技术的不断进步和新的算法的发展,有可能会出现更快速的分解算法,从而导致这些加密算法的不安全性。大质数分解是指将一个大的合数分解成它的质因数的乘积的过程。所以这就是RSA神奇的地方, 其实下数学式中, y表示加密后的值, x是原来的值, 而e 和 n的组合[e, n] 就是公钥public key。原创 2023-07-01 23:56:33 · 540 阅读 · 0 评论 -
Ansible 进阶
Ansible 切换用户-u 参数默认是当前主控机执行Ansible 命令的当前用户gateman@DESKTOP-UIU9RFJ:~$ ansible all -a "id" -u root 120.24.169.231 | CHANGED | rc=0 >>uid=0(root) gid=0(root) groups=0(root)43.138.194.135 | CHANGED | rc=0 >>uid=0(root) gid=0(root) groups=0(r原创 2022-04-18 01:36:51 · 1060 阅读 · 0 评论 -
转: centos7 安装 juypter notebook 教程
https://blog.youkuaiyun.com/hyt182380/article/details/105950711/转载 2021-02-22 21:31:47 · 192 阅读 · 0 评论