Python基于动态规划算法计算单词距离


Posted in Python onJuly 25, 2015

本文实例讲述了Python基于动态规划算法计算单词距离。分享给大家供大家参考。具体如下:

#!/usr/bin/env python
#coding=utf-8
def word_distance(m,n):
  """compute the least steps number to convert m to n by insert , delete , replace .
  动态规划算法,计算单词距离
  >>> print word_distance("abc","abec")
  1
  >>> print word_distance("ababec","abc")
  3
  """
  len_1=lambda x:len(x)+1
  c=[[i] for i in range(0,len_1(m)) ]
  c[0]=[j for j in range(0,len_1(n))]
  for i in range(0,len(m)):
  #  print i,' ',
    for j in range(0,len(n)):
      c[i+1].append(
        min(
          c[i][j+1]+1,#插入n[j]
          c[i+1][j]+1,#删除m[j]
          c[i][j] + (0 if m[i]==n[j] else 1 )#改
        )
      )
  #    print c[i+1][j+1],m[i],n[j],' ',
  #  print ''
  return c[-1][-1]
import doctest
doctest.testmod()
raw_input("Success!")

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Windows系统下安装Python的SSH模块教程
Feb 05 Python
python通过post提交数据的方法
May 06 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
Jun 02 Python
python解决pandas处理缺失值为空字符串的问题
Apr 08 Python
python实现多进程代码示例
Oct 31 Python
使用python进行拆分大文件的方法
Dec 10 Python
在自动化中用python实现键盘操作的方法详解
Jul 19 Python
python实现美团订单推送到测试环境,提供便利操作示例
Aug 09 Python
python3.6编写的单元测试示例
Aug 17 Python
wxpython自定义下拉列表框过程图解
Feb 14 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
Jan 07 Python
python的列表生成式,生成器和generator对象你了解吗
Mar 16 Python
Python中Django框架利用url来控制登录的方法
Jul 25 #Python
Python实现模拟登录及表单提交的方法
Jul 25 #Python
Python基于有道实现英汉字典功能
Jul 25 #Python
Python实现简单的代理服务器
Jul 25 #Python
Python实现截屏的函数
Jul 25 #Python
Python基于PycURL自动处理cookie的方法
Jul 25 #Python
Python基于PycURL实现POST的方法
Jul 25 #Python
You might like
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
javascript 树形导航菜单实例代码
2013/08/13 Javascript
微信小程序 教程之注册程序
2016/10/17 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
Node.js实现文件上传的示例
2017/06/28 Javascript
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
使用python装饰器验证配置文件示例
2014/02/24 Python
python在linux中输出带颜色的文字的方法
2014/06/19 Python
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
Python中生成Epoch的方法
2017/04/26 Python
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
python opencv之SURF算法示例
2018/02/24 Python
python机器学习之贝叶斯分类
2018/03/26 Python
sklearn+python:线性回归案例
2020/02/24 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
如何利用Python写个坦克大战
2020/11/18 Python
python xlsxwriter模块的使用
2020/12/24 Python
综合素质的自我鉴定
2013/10/07 职场文书
建材业务员岗位职责
2013/12/08 职场文书
初中数学教学反思
2014/01/16 职场文书
学校运动会霸气口号
2014/06/07 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
python获取对象信息的实例详解
2021/07/07 Python