
Python
TechFlow
公众号:TechFlow
展开
-
matplotlib | Python强大的作图工具,让你从此驾驭图表
今天是数据处理专题的第9篇文章,在之前的8篇文章当中我们已经介绍完了pandas这个库的一些基本用法,我们先把一些冷门的高级用法放一放,先来给大家介绍一下另外一个很有用的数据分析库——matplotlib。matplotlib简介如果你在大学里参加过数学建模竞赛或者是用过MATLAB的话,相比会对这一款软件中的画图功能印象深刻。MATLAB可以做出各种函数以及数值分布图像非常的好用和方便。如果你没用过呢也没关系,知道这么回事就好了。MATLAB虽然好用,但毕竟是收费软件,而且相比于MATLAB,很多人更原创 2020-09-11 10:35:17 · 524 阅读 · 0 评论 -
Python | 使用argparse解析命令行参数
今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse。命令行参数工具是我们非常常用的工具,比如当我们做实验希望调节参数的时候,如果参数都是通过硬编码写在代码当中的话,我们每次修改参数都需要修改对应的代码和逻辑显然这不太方便。比较好的办法就是把必要的参数设置成通过命令行传入的形式,这样我们只需要在运行的时候修改参数就可以了。sys.argv解析命令行传入参数最简单的办法就是通过sys.argv,sys.argv可以获取到我们通过命令行传入的参数。import原创 2020-09-08 11:29:51 · 2049 阅读 · 1 评论 -
Python | 详解Python中的协程,为什么说它的底层是生成器?
今天是Python专题的第26篇文章,我们来聊聊Python当中的协程。我们曾经在golang关于goroutine的文章当中简单介绍过协程的概念,我们再来简单review一下。协程又称为是微线程,英文名是Coroutine。它和线程一样可以调度,但是不同的是线程的启动和调度需要通过操作系统来处理。并且线程的启动和销毁需要涉及一些操作系统的变量申请和销毁处理,需要的时间比较长。而协程呢,它的调度和销毁都是程序自己来控制的,因此它更加轻量级也更加灵活。协程有这么多优点,自然也会有一些缺点,其中最大的缺点就原创 2020-09-02 10:39:22 · 285 阅读 · 0 评论 -
算法数据结构 | 图论基础算法——拓扑排序
今天是算法和数据结构专题的第32篇文章,我们来聊聊拓扑排序的问题。拓扑排序是图论当中一个非常简单也非常常用的算法,它有很多的功能。它可以用来检测有向图当中是否存在环,也可以用来解决存在依赖的调度问题。下面我们就来看看这个算法的庐山真面目吧。算法场景拓扑排序是英文音译,它的英文原文是Topological Sorting,是一个比较抽象的概念,没有很信达雅的翻译。它指的是一个DAG(Directed Acyclic Graph)即有向图所有顶点满足一定条件的线性序列。也就是说图中的这些顶点的排序之间原创 2020-08-27 12:10:31 · 391 阅读 · 0 评论 -
Python | 多线程死锁问题的巧妙解决方法
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第25篇文章,我们一起来聊聊多线程开发当中死锁的问题。死锁死锁的原理非常简单,用一句话就可以描述完。就是当多线程访问多个锁的时候,不同的锁被不同的线程持有,它们都在等待其他线程释放出锁来,于是便陷入了永久等待。比如A线程持有1号锁,等待2号锁,B线程持有2号锁等待1号锁,那么它们永远也等不到执行的那天,这种情况就叫做死锁。关于死锁有一个著名的问题叫做哲学家就餐问题,有5个哲学家围坐在一起,他们每个人需要拿到两个叉原创 2020-08-25 12:57:10 · 853 阅读 · 0 评论 -
Python | 浅谈并发锁与死锁问题
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第24篇文章,我们一起来聊聊多线程场景当中不可或缺的另外一个部分——锁。如果你学过操作系统,那么对于锁应该不陌生。锁的含义是线程锁,可以用来指定某一个逻辑或者是资源同一时刻只能有一个线程访问。这个很好理解,就好像是有一个房间被一把锁锁住了,只有拿到钥匙的人才能进入。每一个人从房间门口拿到钥匙进入房间,出房间的时候会把钥匙再放回到门口。这样下一个到门口的人就可以拿到钥匙了。这里的房间就是某一个资源或者是一段逻辑,而拿取钥匙原创 2020-08-14 11:14:34 · 251 阅读 · 0 评论 -
Python | 面试的常客,经典的生产消费者模式
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第23篇文章,我们来聊聊关于多线程的一个经典设计模式。在之前的文章当中我们曾经说道,在多线程并发的场景当中,如果我们需要感知线程之间的状态,交换线程之间的信息是一件非常复杂和困难的事情。因为我们没有更高级的系统权限,也没有上帝视角,很难知道目前运行的状态的全貌,所以想要设计出一个稳健运行没有bug的功能,不仅非常困难,而且调试起来非常麻烦。生产消费者模式在日常开发当中,从一个线程向另外的线程传输数据又是一件家常便原创 2020-08-05 12:29:03 · 287 阅读 · 1 评论 -
pandas | DataFrame基础运算以及空值填充
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是pandas数据处理专题的第四篇文章,我们一起来聊聊DataFrame中的索引。上一篇文章当中我们介绍了DataFrame数据结构当中一些常用的索引的使用方法,比如iloc、loc以及逻辑索引等等。今天的文章我们来看看DataFrame的一些基本运算。数据对齐我们可以计算两个DataFrame的加和,pandas会自动将这两个DataFrame进行数据对齐,如果对不上的数据会被置为Nan(not a number)。首先我们来创原创 2020-07-30 10:59:19 · 2681 阅读 · 0 评论 -
Python | Python初学者的自我修养,找到自己的方向
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第22篇文章,原本今天是准备和大家继续Python当中多线程的使用的相关内容。然而前两天有一个读者在后台问我,学习Python有哪些适合新手入门的小项目推荐,所以今天这篇临时改为了答疑篇,咱们来聊聊这个问题。对于我来说Python的应用场景主要是机器学习、深度学习相关,对于其他的场景涉猎不多。因此本文的目的并不是列举出一系列小项目给你们练手,而是希望引导大家思考这个问题,从而找到适合自己的练习项目。Python的误区原创 2020-07-27 10:53:30 · 1271 阅读 · 0 评论 -
Python | 感知线程状态的解决方案,Event与信号量
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第21篇文章,我们继续多线程的话题。上周的文章当中我们简单介绍了线程和进程的概念,以及在Python当中如何在主线程之外创建其他线程,并且还了解了用户级线程和后台线程的区别以及使用方法。今天我们来看看线程的其他使用,比如如何停止一个线程,线程之间的Event用法等等。停止线程利用Threading库我们可以很方便地创建线程,让它按照我们的想法执行我们想让它执行的事情,从而加快程序运行的效率。然而有一点坑爹的是,线原创 2020-07-16 11:14:48 · 365 阅读 · 0 评论 -
pandas | 使用pandas进行数据处理——DataFrame篇
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是pandas数据处理专题的第二篇文章,我们一起来聊聊pandas当中最重要的数据结构——DataFrame。上一篇文章当中我们介绍了Series的用法,也提到了Series相当于一个一维的数组,只是pandas为我们封装了许多方便好用的api。而DataFrame可以简单了理解成Series构成的dict,这样就将数据拼接成了二维的表格。并且为我们提供了许多表级别数据处理以及批量数据处理的接口,大大降低了数据处理的难度。创建DataF原创 2020-07-09 14:19:34 · 1383 阅读 · 0 评论 -
Python | 面试必问,线程与进程的区别,Python中如何创建多线程?
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题第20篇文章,我们来聊聊Python当中的多线程。其实关于元类还有很多种用法,比如说如何在元类当中设置参数啦,以及一些规约的用法等等。只不过这些用法比较小众,使用频率非常低,所以我们不过多阐述了,可以在用到的时候再去详细了解。我想只要大家理解了元类的原理以及使用方法,再去学习那些具体的用法应该会很容易。所以我们今天开始了一个新的话题——多线程和并发。进程和线程为了照顾小白,我们来简单聊聊进程和线程这两个概念。这两个原创 2020-07-06 11:56:59 · 317 阅读 · 0 评论 -
Pytorch | 详解Pytorch科学计算包——Tensor
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Pytorch专题的第二篇,我们继续来了解一下Pytorch中Tensor的用法。上一篇文章当中我们简单介绍了一下如何创建一个Tensor,今天我们继续深入Tensor的其他用法。tensor操作size()和shape我们可以用size()函数或者直接调用tensor当中的shape属性获取一个tensor的大小,这两者是等价的,一般情况下我们用前者多一些。view我们可以通过view改变一个tensor的shap原创 2020-07-05 19:38:12 · 621 阅读 · 0 评论 -
pandas | 使用pandas进行数据处理——Series篇
本文始发于个人公众号:TechFlow,原创不易,求个关注上周我们关于Python中科学计算库Numpy的介绍就结束了,今天我们开始介绍一个新的常用的计算工具库,它就是大名鼎鼎的Pandas。Pandas的全称是Python Data Analysis Library,是一种基于Numpy的科学计算工具。它最大的特点就是可以像是操作数据库当中的表一样操作结构化的数据,所以它支持许多复杂和高级的操作,可以认为是Numpy的加强版。它可以很方便地从一个csv或者是excel表格当中构建出完整的数据,并支持原创 2020-07-01 12:27:35 · 406 阅读 · 0 评论 -
Python元类实战,通过元类实现数据库ORM框架
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第19篇文章,我们一起来用元类实现一个简易的ORM数据库框架。本文主要是受到了廖雪峰老师Python3入门教程的启发,不过廖老师的博客有些精简,一些小白可能看起来比较吃力。我在他的基础上做了一些补充和注释,尽量写得浅显一些。ORM框架是什么如果是没有做过后端的小伙伴上来估计会有点蒙,这个ORM框架究竟是什么?ORM框架是后端工程师常用的一个框架,它的英文全称是Object Relational Mapping,即原创 2020-06-26 11:33:36 · 276 阅读 · 0 评论 -
Pytorch入门——手把手带你配置云服务器环境
本文始发于个人公众号:TechFlow,原创不易,求个关注今天这篇是Pytorch专题第一篇文章。大家好,由于我最近自己在学习Pytorch框架的运用,并且也是为了响应许多读者的需求,推出了这个Pytorch专题。由于这个专题是周末加更的,所以不能保证更新进度,我尽量和其他专题一样,每周一更。Pytorch简介Pytorch底层是Torch框架,Torch框架是一个科学计算框架,拥有一个与Numpy类似的张量操作库。非常灵活,但是它的语言是Lua,比较小众,因此没有广泛流行。后来开发团队在T原创 2020-06-25 09:19:19 · 1605 阅读 · 0 评论 -
手把手教你学Numpy,搞定数据处理——收官篇
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Numpy专题第6篇文章,我们一起来看看Numpy库当中剩余的部分。数组的持久化在我们做机器学习模型的研究或者是学习的时候,在完成了训练之后,有时候会希望能够将相应的参数保存下来。否则的话,如果是在Notebook当中,当Notebook关闭的时候,这些值就丢失了。一般的解决方案是将我们需要的值或者是数组“持久化”,通常的做法是存储在磁盘上。Python当中读写文件稍稍有些麻烦,我们还需要创建文件句柄,然后一行行写入,写入完成之后原创 2020-06-21 22:51:54 · 259 阅读 · 0 评论 -
Python进阶——详解元类,metaclass的原理和用法
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题第18篇文章,我们来继续聊聊Python当中的元类。在上上篇文章当中我们介绍了type元类的用法,在上一篇文章当中我们介绍了__new__函数与__init__函数的区别,以及它在一些设计模式当中的运用。这篇文章我们来看看metacalss与元类,以及__new__函数在元类当中的使用。上一篇文章非常重要,是这一篇的基础,如果错过了上篇文章,推荐回顾一下:Python面试常见问题,__init__是构造函数吗?me原创 2020-06-18 10:55:38 · 416 阅读 · 0 评论 -
手把手教你学Numpy,这些api不容错过
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Numpy专题的第5篇文章,我们来继续学习Numpy当中一些常用的数学和统计函数。基本统计方法在日常的工作当中,我们经常需要通过一系列值来了解特征的分布情况。比较常用的有均值、方差、标准差、百分位数等等。前面几个都比较好理解,简单介绍一下这个百分位数,它是指将元素从小到大排列之后,排在第x%位上的值。我们一般常用的是25%,50%和75%这三个值,通过这几个值,我们很容易对于整个特征的分布有一个大概的了解。前面三个指标:均值、方差原创 2020-06-14 11:46:01 · 237 阅读 · 0 评论 -
机器学习——手把手教你用Python实现回归树模型
本文始发于个人公众号:TechFlow,原创不易,求个关注今天这篇是机器学习专题的第24篇文章,我们来聊聊回归树模型。所谓的回归树模型其实就是用树形模型来解决回归问题,树模型当中最经典的自然还是决策树模型,它也是几乎所有树模型的基础。虽然基本结构都是使用决策树,但是根据预测方法的不同也可以分为两种。第一种,树上的叶子节点就对应一个预测值和分类树对应,这一种方法称为回归树。第二种,树上的叶子节点对应一个线性模型,最后的结果由线性模型给出。这一种方法称为模型树。今天我们先来看看其中的回归树。回归树模原创 2020-06-12 10:55:15 · 1711 阅读 · 0 评论 -
手把手教你学Numpy,从此数据处理不再慌【四】
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是numpy专题的第四篇文章,numpy中的数组重塑与三元表达式。首先我们来看数组重塑,所谓的重塑本质上就是改变数组的shape。在保证数组当中所有元素不变的前提下,变更数组形状的操作。比如常用的操作主要有两个,一个是转置,另外一个是reshape。转置与reshape转置操作很简单,它对应线性代数当中的转置矩阵这个概念,也就是说它的功能就是将一个矩阵进行转置。转置矩阵的定义是将一个矩阵的横行写为转置矩阵的纵列,把纵列写成转置矩阵原创 2020-06-08 09:01:27 · 325 阅读 · 0 评论 -
Python面试官,来来来你说说怎么动态生成类?
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第16篇文章,今天我们来聊聊Python当中的元类。元类是Python当中的高级用法,如果你之前从来没见过这个术语或者是没听说过这个概念,这是非常正常的,因为一方面它的使用频率不高,另外一方面就是它相对不太容易理解。以至于很多Python开发者都理解得不是很深入,导致了市面上相关的资料也并不太多。我也是读了一些大牛的代码才开启了这扇新世界的大门。一切都是对象我们之前的时候曾经介绍过,在Python当中一切都是对象原创 2020-06-05 10:42:13 · 259 阅读 · 0 评论 -
LeetCode 74,直击BAT经典面试题
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是LeetCode专题43篇文章,我们今天来看一下LeetCode当中的74题,搜索二维矩阵,search 2D Matrix。这题的官方难度是Medium,通过率是36%,和之前的题目不同,这题的点赞比非常高,1604个赞,154个反对。可见这题的质量还是很高的,事实上也的确如此,这题非常有意思。题意这题的题意也很简单,给定一个二维的数组matrix和一个整数target,这个数组当中的每一行和每一列都是递增的,并且还满足每一行的原创 2020-06-04 11:31:10 · 318 阅读 · 0 评论 -
Python一切皆是对象,但这和内存管理有什么关系?
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python的第15篇文章,我们来聊聊Python中内存管理机制,以及循环引用的问题。Python的内存管理机制对于工程师而言,内存管理机制非常重要,是绕不过去的一环。如果你是Java工程师,面试的时候一定会问JVM。C++工程师也一定会问内存泄漏,同样我们想要深入学习Python,内存管理机制也是绕不过去的一环。不过好在Python的内存管理机制相对来说比较简单,我们也不用特别深入其中的细节,简单做个了解即可。Python内存原创 2020-05-21 08:38:39 · 314 阅读 · 0 评论 -
手把手Numpy入门教程【二】——数组与切片
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Numpy专题的第二篇,我们来进入正题,来看看Numpy的运算。上一篇文章当中曾经提到过,同样大小的数据,使用Numpy的运算速度会是我们自己写循环来计算的上百倍甚至更多。并且Numpy的API非常简单,通常只要简单几行代码就可以完成非常复杂的操作。计算与广播在Python中的数组无论是什么类型,我们是无法直接对其中所有的元素进行计算的。想要做到这一点,必须要通过map这样的方式操作。而Numpy当中,我们可以很方便地对一整个数组原创 2020-05-18 08:38:43 · 521 阅读 · 0 评论 -
怎么在Python装饰器中自定义功能呢?用这种方法让你“为所欲为”
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第14篇文章,我们继续装饰器的话题,来看看怎么给装饰器包装方法,实现更多灵活的操作。在之前的文章当中,我们实现了对装饰器赋予参数,从而可以通过传入不同的参数来控制装饰器中的逻辑。这样做可以大大地增加装饰器的灵活性,但是仍然不足以解决所有的问题。如果我们面临一个变动很频繁的业务,以后也许需要加上一些当前想不到的逻辑,这个时候就没有办法仅仅通过参数来控制了。那么有没有办法不仅仅是传入参数,而是可以给装饰器添加不同的逻辑呢?原创 2020-05-13 23:15:15 · 210 阅读 · 0 评论 -
手把手教你学Numpy,从此处理数据不再慌「一」
本文始发于个人公众号:TechFlow,原创不易,求个关注当当当,我又开新坑了,这次的专题是Python机器学习中一个非常重要的工具包,也就是大名鼎鼎的numpy。所以今天的文章是Numpy专题的第一篇。俗话说得好,机器学习要想玩的溜,你可以不会写Python,但一定不能不会调库(大雾)。Numpy可以说是Python中最基础也是最重要的工具库了,要用Python做机器学习,玩转各种框架,Numpy是必须要会的。像是TensorFlow、pytorch这些知名框架都是基于Numpy进行计算的,可想而原创 2020-05-13 08:34:53 · 242 阅读 · 0 评论 -
Python装饰器不会传参?别着急,这篇文章为你解惑
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第13篇文章,上一篇文章当中我们介绍了Python装饰器的定义和基本的用法,这篇文章我们一起来学习一下Python装饰器的一些进阶使用方法。对装饰器不太熟悉,或者错过了上篇内容的小伙伴可以点击下方传送门。一文搞定Python装饰器,看完面试不再慌之前的文章当中我们从前到后仔细推到了一下装饰器的本质和用途,也学...原创 2020-05-05 22:57:03 · 703 阅读 · 0 评论 -
别再报培训班了,一篇文章帮你30分钟入门Python
最近有许多小伙伴后台联系我,说目前想要学习Python,但是没有一份很好的资料入门。一方面的确现在市面上Python的资料过多,导致新手会不知如何选择,另一个问题很多资料内容也很杂,从1+1到深度学习都包括,纯粹关注Python本身语法的优质教材并不太多。刚好我最近看到一份不错的英文Python入门资料,我将它做了一些整理和翻译写下了本文。这份资料非常纯粹,只有Python的基础语法,专门针对想...原创 2020-05-05 07:44:09 · 683 阅读 · 0 评论 -
五分钟学会Python装饰器,看完面试不再慌
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第12篇文章,我们来看看Python装饰器。一段囧事差不多五年前面试的时候,我就领教过它的重要性。那时候我Python刚刚初学乍练,看完了廖雪峰大神的博客,就去面试了。我应聘的并不是一个Python的开发岗位,但是JD当中写到了需要熟悉Python。我看网上的面经说到Python经常会问装饰器,我当时想的是装...原创 2020-04-29 08:28:39 · 237 阅读 · 0 评论 -
Python——详解__slots__,property与代码规范
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第11篇文章,我们来聊聊面向对象的一些进阶使用。__slots__如果你看过github当中一些大牛的代码,你会发现很多大牛经常在类的顶部加上__slots__关键字。如果你足够好奇,你可能会试着把这个关键字去掉再运行试试,你会发现去掉了之后什么也没有发生,一切依然运行得很好。那么这个__slots__关键...原创 2020-04-21 20:13:15 · 290 阅读 · 0 评论 -
Python——详解__str__, __repr__和__format__
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第10篇文章,我们来聊聊Python当中的类。打印实例我们先从类和对象当中最简单的打印输出开始讲起,打印一个实例是一个非常不起眼的应用,但是在实际的编程当中却非常重要。原因也很简单,因为我们debug的时候往往会想看下某个类当中的内容是不是符合我们的预期。但是我们直接print输出的话,只会得到一个地址。我...原创 2020-04-14 20:16:46 · 410 阅读 · 0 评论 -
Python——五分钟理解函数式编程与闭包
今天是Python专题的第9篇文章,我们来聊聊Python的函数式编程与闭包。函数式编程函数式编程这个概念我们可能或多或少都听说过,刚听说的时候不明觉厉,觉得这是一个非常黑科技的概念。但是实际上它的含义很朴实,但是延伸出来许多丰富的用法。在早期编程语言还不是很多的时候,我们会将语言分成高级语言与低级语言。比如汇编语言,就是低级语言,几乎什么封装也没有,做一个赋值运算还需要我们手动调用寄存器。...原创 2020-04-07 10:01:21 · 291 阅读 · 0 评论 -
Python——迭代器的高级用法
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第8篇文章。今天我们依然介绍的是迭代器,不过介绍的是几个比较常用的高级用法,在实际场景当中非常实用,可以帮助我们大大简化代码的复杂度。跳过开头首先是跳过开始部分,这个在我们读取文本的时候最常用。在实际的应用当中,比如记录的日志或者是代码等等,一般来说头部都会附上一段说明,或者用注释标注或者是用特殊的符号标记...原创 2020-03-31 09:18:30 · 324 阅读 · 0 评论 -
Python专题——详解enumerate和zip
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第7篇文章,我们继续介绍迭代相关。enumerate首先介绍的是enumerate函数。在我们日常编程的过程当中,经常会遇到一个问题。在C语言以及一些古老的语言当中是没有迭代器这个概念的,所以我们要遍历数组或者是容器的时候,往往只能通过下标。有了迭代器之后,我们遍历的过程方便了很多,我们可以直接用一个变量...原创 2020-03-24 09:26:33 · 523 阅读 · 0 评论 -
Python专题——五分钟带你了解map、reduce和filter
今天是Python专题第6篇文章,给大家介绍的是Python当中三个非常神奇的方法:map、reduce和filter。不知道大家看到map和reduce的时候有没有什么感觉,如果看过之前我们大数据系列介绍MapReduce文章的同学,想必有些印象。这个MapReduce不是一个分布式的计算方法么,怎么又变成Python中的方法了?其实原因很简单,因为Python是一门很年轻的语言,它在发展的过...原创 2020-03-17 08:31:11 · 330 阅读 · 0 评论 -
Python——五分钟带你弄懂迭代器与生成器,夯实代码能力
本文始发于个人公众号:TechFlow,原创不易,求个关注今天是周一Python专题,给大家带来的是Python当中生成器和迭代器的使用。我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉得这是一种新的获取数据的方法。对于获取数据的方法而言,我们会一种就足够了。但是在我后来Python的使用以及TensorFlow等学习使用当中,我发现很多地方都用到了迭代器和生成器,或者是直接使用,...原创 2020-03-10 09:07:37 · 691 阅读 · 1 评论 -
Python——详解collections工具库
本文始发于个人公众号:TechFlow,原创不易,求个关注今天为大家介绍Python当中一个很好用也是很基础的工具库,叫做collections。collection在英文当中有容器的意思,所以顾名思义,这是一个容器的集合。这个库当中的容器很多,有一些不是很常用,本篇文章选择了其中最常用的几个,一起介绍给大家。defaultdictdefaultdict可以说是这个库当中使用最简单的...原创 2020-03-03 09:08:33 · 309 阅读 · 0 评论 -
Python应用——自定义排序全套方案
本文始发于个人公众号:TechFlow,原创不易,求个关注今天的这篇文章和大家聊聊Python当中的排序,和很多高级语言一样,Python封装了成熟的排序函数。我们只需要调用内部的sort函数,就可以完成排序。但是实际场景当中,排序的应用往往比较复杂,比如对象类型,当中有多个字段,我们希望按照指定字段排序,或者是希望按照多关键字排序,这个时候就不能简单的函数调用来解决了。字典排序我们先...原创 2020-02-25 08:09:19 · 946 阅读 · 0 评论 -
LeetCode30 Hard 查找所有子串
本文始发于个人公众号:TechFlow,原创不易,求个关注链接Substring with Concatenation of All Words难度Hard描述给定一个字符串s作为母串,和一系列长度相等的字符串words,要求返回s当中所有的位置,使得从该位置开始可以找到所有的words,并且所有的words只出现一次You are given a string, s , a...原创 2020-02-24 11:17:55 · 281 阅读 · 0 评论