关于带权随机数 为了帮助理解,先来看三类随机问题的对比: 1.已有n条记录,从中选取m条记录,选取出来的记录前后顺序不管. 实现思路:按行遍历所有记录,约隔n/m条取一个数据即可 2.在1类情况下,还要求选取出来的m条记录是随机排序的 实现思路: 给n条记录,分别增加一列标记,值为随机选取的1至n之间的不重复数据. 3.区别于1,2类问题, 如果记录是有权重的,如何结合权重去随机选取. 比如A的权重为10, B的权重股为5, C的权重为1, 则随机选取4个时可能应该出现AABB. 第3类问题便是…
因为上次帮我们产品处理过一个文件,他想生成能excel处理操作的.但是上次由于时间非常紧张,所以并没有处理好. 正好无聊就来好好研究一下 ,找算法要了几个 csv文件.来好好玩一玩. 全篇使用了python自带的csv的库 import csvcsv.reader(csvfile[, dialect='excel'][, fmtparam])csv.writer(csvfile, dialect='excel', **fmtparams)以及两个我没有尝试的字典读写方法,有兴趣的可以参照官方文档…
python利用Trie(前缀树)实现搜索引擎中关键字输入提示(学习Hash Trie和Double-array Trie) 主要包括两部分内容:(1)利用python中的dict实现Trie:(2)按照darts-java的方法做python的实现Double-array Trie 比较:(1)的实现相对简单,但在词典较大时,时间复杂度较高(2)Double-array Trie是Trie高效实现,时间复杂度达到O(n),但是实现相对较难 最近遇到一个问题,希望对地名检索时,根据用户的输入,实…
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一.该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别.谁和我隔得近,我就跟谁是一类,有点中国古语说的近墨者黑近朱者赤意思.KNN算法中,所选择的邻居都是已经正确分类的对象.该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别. KNN方法虽然从原理上也依赖于极限定理,但在类…
我们在开发中经常会使用随机数模拟各种随机条件,例如生成唯一的密码和令牌. 在计算机中,一般采用PRNG(伪随机序列发生器)模拟真实随机数.既然是随机,就要要没有任何规律, 在取值范围内均匀.独立.以确保尽量不重复.否则生成的密码和令牌碰撞的几率就非常大. delphi自带的随机数函数,看似随机,实际上当产生次数足够多的话,就会发现重复性非常大,而且向中心域 集中.如果我们用delphi自带的随机数生成一个区域的点,就会很方便的发现这个问题. kbmmw 5.8里面 提供了好几种流行的随机数生成实…
我们再工作中可能会遇到需要判断两个字符串有多少相似度的情况(比如抓取页面内容存入数据库,如果相似度大于70%则判定为同一片文章,则不录入数据库) 那这个时候,我们应该怎么判断呢? 不要着急,python自带的difflib库就可以帮助我们解决这个问题. 首先,difflib是python自带的,所以不需要安装,直接引用即可. 活不多少,直接上代码 代码如下: import difflib #判断相似度的方法,用到了difflib库 def get_equal_rate_1(str1, str2)…
准备工作 在学习Django之前,先动手撸一个简单的WEB框架来熟悉一下前后端交互的整体流程 本次用到的模块: 1.wsgiref,这是一个Python自带的模块,用于构建路由与视图 2.pymysql,第三方模块,用于数据库与视图层进行数据交互 3.jinja2,第三方模块,用于对前端页面进行模板渲染 请使用pip install modulename进行安装 如果安装jinja2失败,请使用easy_install Jinja2命令进行安装 数据交互 其实前面已经有大量的地方讨论浏览器与后端…
Hey! 如果你还没有看这篇的上文的话,可以去稍稍瞅一眼,会帮助加速理解这一篇里面涉及到的递归结构哦!(上一篇点这里:<python实例:解决经典扑克牌游戏 -- 四张牌凑24点 (一)>) 如果你已经看完了第一部分的解析,那我们可以来继续上道题的第二部分. 根据第一部分的分析,第二部分的难点主要在以下两点: 第一题只需要考虑三个数字,两个符号的排列组合,也就是说在改变运算符号时,我们只需考虑4选1,或者4选2的情况.而第二题却需要完全不同的思路,要在不确定总数字量的情况下,在每两个数字间考虑…
1 编写第一个静态页面——Hello world页面 在上一篇博客<[Python] 利用Django进行Web开发系列(一)>中,我们创建了自己的目录mysite. Step1:创建视图文件 在编写第一个页面之前,我们首先要在mysite目录下创建一个名称为views.py的文件.当然,命名是没有要求的,你也可以命名为a.py,b.py... ... 根据自己的喜好命名就行.在已创建好的views.py中写入如下代码,并保存: from django.http import HttpResp…
ubuntu14.04 python自带版本升级 sudo add-apt-repository ppa:fkrull/deadsnakes-python2. sudo apt-get update sudo apt-get upgrade…