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通过shutil实现快速文件复制的方法
Mar 14 Python
使用Python3中的gettext模块翻译Python源码以支持多语言
Mar 31 Python
python处理大数字的方法
May 27 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 Python
python随机取list中的元素方法
Apr 08 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
解决已经安装requests,却依然提示No module named requests问题
May 18 Python
python分割一个文本为多个文本的方法
Jul 22 Python
Python 用三行代码提取PDF表格数据
Oct 13 Python
Django实现WebSSH操作物理机或虚拟机的方法
Nov 06 Python
python中tkinter窗口位置\坐标\大小等实现示例
Jul 09 Python
python 6行代码制作月历生成器
Sep 18 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中PDO的错误处理
2011/09/04 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
jquery 双色表格实现代码
2009/12/08 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
python检测是文件还是目录的方法
2015/07/03 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
Python中字符串的格式化方法小结
2016/05/03 Python
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
Python 如何调试程序崩溃错误
2020/08/03 Python
python实现扫雷游戏的示例
2020/10/20 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
生物技术毕业生自荐信
2013/10/23 职场文书
校园创业策划书
2014/01/14 职场文书
文明宿舍获奖感言
2014/02/07 职场文书
社区党务公开实施方案
2014/03/18 职场文书
保密工作目标责任书
2014/07/28 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android