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 相关文章推荐
使用Protocol Buffers的C语言拓展提速Python程序的示例
Apr 16 Python
用Python写一个无界面的2048小游戏
May 24 Python
python判断一个数是否能被另一个整数整除的实例
Dec 12 Python
pygame实现五子棋游戏
Oct 29 Python
Python解释器以及PyCharm的安装教程图文详解
Feb 26 Python
python用什么编辑器进行项目开发
Jun 17 Python
python中怎么表示空值
Jun 19 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 Python
Python类型转换的魔术方法详解
Dec 23 Python
Python的轻量级ORM框架peewee使用教程
Feb 05 Python
Python循环之while无限迭代
Apr 30 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
PHP Google的translate API代码
2008/12/10 PHP
php 将excel导入mysql
2009/11/09 PHP
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
JavaScript声明变量名的语法规则
2015/07/10 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
2016/06/17 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
elementUI select组件value值注意事项详解
2019/05/29 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
Python使用Django实现博客系统完整版
2020/09/29 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
2019/06/17 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
2019/10/11 Python
环保专业大学生职业规划设计
2014/01/10 职场文书
就业协议书
2014/09/12 职场文书
医院党建工作总结2015
2015/05/26 职场文书
MySQL数据库完全卸载的方法
2022/03/03 MySQL