• 技术文章 >后端开发 >Python教程

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

    2016-06-06 11:13:23原创583
    本文实例讲述了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程序设计有所帮助。

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:Python3访问并下载网页内容的方法 下一篇:Python中文竖排显示的方法
    线上培训班

    相关文章推荐

    • Socket编程实战• 十个Python程序员易犯的错误• 详解Python的迭代器、生成器以及相关的itertools包• 分析在Python中何种情况下需要使用断言• 讲解Python中的递归函数

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网