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 相关文章推荐
Python读写Excel文件的实例
Nov 01 Python
Python FTP操作类代码分享
May 13 Python
python在windows下实现备份程序实例
Jul 04 Python
python分析nignx访问日志脚本分享
Feb 26 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
Python3之不使用第三方变量,实现交换两个变量的值
Jun 26 Python
Python3使用PySynth制作音乐的方法
Sep 09 Python
Python综合应用名片管理系统案例详解
Jan 03 Python
python从内存地址上加载python对象过程详解
Jan 08 Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 Python
python GUI模拟实现计算器
Jun 22 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 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项目打包方法
2008/02/18 PHP
PHP Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
prototype1.4中文手册
2006/09/22 Javascript
学习YUI.Ext 第七天--关于View&JSONView
2007/03/10 Javascript
Display SQL Server Login Mode
2007/06/21 Javascript
Javascript Object.extend
2010/05/18 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
超赞的jQuery图片滑块动画特效代码汇总
2016/01/25 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
如何用RxJS实现Redux Form
2018/12/29 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
[18:20]DOTA2 HEROS教学视频教你分分钟做大人-昆卡
2014/06/11 DOTA
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
python两种遍历字典(dict)的方法比较
2014/05/29 Python
Python简单实现控制电脑的方法
2018/01/22 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
django数据库自动重连的方法实例
2019/07/21 Python
匡威意大利官方商店 :Converse意大利
2018/11/27 全球购物
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
Android笔试题总结
2014/11/29 面试题
护士自荐信
2013/10/25 职场文书
美术教学感言
2014/02/22 职场文书
终止劳动合同协议书
2014/04/14 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
庆祝国庆节标语
2014/10/09 职场文书