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编写检测数据库SA用户的方法
Jul 11 Python
Python中文竖排显示的方法
Jul 28 Python
浅谈python中的__init__、__new__和__call__方法
Jul 18 Python
python3如何将docx转换成pdf文件
Mar 23 Python
Python实现按中文排序的方法示例
Apr 25 Python
python使用matplotlib模块绘制多条折线图、散点图
Apr 26 Python
Python中的引用和拷贝实例解析
Nov 14 Python
python中的逆序遍历实例
Dec 25 Python
使用Bazel编译TensorBoard教程
Feb 15 Python
python logging 日志的级别调整方式
Feb 21 Python
Pytest框架之fixture的详细使用教程
Apr 07 Python
python操作redis数据库的三种方法
Sep 10 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 cout<<的一点看法
2010/01/24 PHP
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
php绘制圆形的方法
2015/01/24 PHP
thinkPHP5.0框架URL访问方法详解
2017/03/18 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
表单元素事件 (Form Element Events)
2009/07/17 Javascript
用JS写的一个TableView控件代码
2010/01/23 Javascript
jquery ajax 调用失败的原因示例介绍
2013/09/27 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
JavaScript中filter的用法实例分析
2019/02/27 Javascript
微信小程序 setData 对 data数据影响问题
2019/04/18 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
Python列表计数及插入实例
2014/12/17 Python
Python Matplotlib库安装与基本作图示例
2019/01/09 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
Django之模板层的实现代码
2019/09/09 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
耐克波兰官方网站:Nike波兰
2019/09/03 全球购物
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
数控技术学生的自我评价
2014/02/15 职场文书
个人廉洁自律总结
2015/03/06 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
Mysql中常用的join连接方式
2022/05/11 MySQL