- 浏览: 121830 次
- 性别:
- 来自: 武汉
文章分类
最新评论
"""Soundex algorithm
This program is part of "Dive Into Python", a free Python book for
experienced programmers. Visit http://diveintopython.org/ for the
latest version.
"""
__author__ = "Mark Pilgrim (mark@diveintopython.org)"
__version__ = "$Revision: 1.5 $"
__date__ = "$Date: 2004/05/11 19:11:21 $"
__copyright__ = "Copyright (c) 2004 Mark Pilgrim"
__license__ = "Python"
import string
allChar = string.uppercase + string.lowercase
charToSoundex = string.maketrans(allChar, "91239129922455912623919292" * 2)
def soundex(source):
"convert string to Soundex equivalent"
# Soundex requirements:
# source string must be at least 1 character
# and must consist entirely of letters
if (not source) or (not source.isalpha()):
return "0000"
# Soundex algorithm:
# 1. make first character uppercase
# 2. translate all other characters to Soundex digits
digits = source[0].upper() + source[1:].translate(charToSoundex)
# 3. remove consecutive duplicates
digits2 = digits[0]
for d in digits[1:]:
if digits2[-1] != d:
digits2 += d
# 4. remove all "9"s
# 5. pad end with "0"s to 4 characters
return (digits2.replace('9', '') + '000')[:4]
if __name__ == '__main__':
import sys
if sys.argv[1:]:
print soundex(sys.argv[1])
else:
from timeit import Timer
names = ('Woo', 'Pilgrim', 'Flingjingwaller')
for name in names:
statement = "soundex('%s')" % name
t = Timer(statement, "from __main__ import soundex")
print name.ljust(15), soundex(name), min(t.repeat())
发表评论
-
一个完整的php项目示例
2009-05-19 13:30 1304<script>function StorePag ... -
一个简单的python代理服务器源码分析
2009-05-20 00:29 1437<script>function StorePag ... -
python起步
2009-05-21 00:15 608<script>function StorePag ... -
urllister.py源码分析
2009-05-22 00:08 1062<script>function StorePag ... -
fibonacci.py源代码分析
2009-05-22 23:24 629<script>function StorePag ... -
builddialectexamples.py源代码分析
2009-05-25 00:05 535<script>function StorePag ... -
piglatin.php源代码分析
2009-05-25 22:58 696<script>function StorePag ... -
plural.py源代码分析
2009-05-26 22:28 575<script>function StorePag ... -
regression.py源代码分析
2009-05-27 21:33 795<script>function StorePag ... -
apihelpertest.py源代码分析
2009-05-28 23:47 535<script>function StorePag ... -
argecho.py源代码分析
2009-05-30 00:44 625<script>function StorePag ... -
plural1.py源代码分析
2009-05-31 22:27 611<script>function StorePag ... -
toolbox.py源代码分析
2009-06-01 23:00 567<script>function StorePag ... -
sum.py源代码分析
2009-06-03 00:14 791<script>function StorePag ... -
python打印变量的标识符、类型和值
2009-06-03 22:44 2138<script>function StorePag ... -
stringFormatting.py源代码分析
2009-06-04 23:49 504<script>function StorePag ... -
operator.py源代码分析
2009-06-05 23:12 570<script>function StorePag ... -
average.py源代码分析
2009-06-07 00:20 521<script>function StorePag ... -
square.py源代码分析
2009-06-08 00:05 623<script>function StorePag ... -
left.php源代码分析
2009-06-09 01:06 979<script>function StorePag ...
相关推荐
例子: iex> Soundex.soundex("Morris")"M620"iex> Soundex.soundex("Harris")"H620" iex> Soundex.soundex("Morrison")"M625"iex> Soundex.soundex("Smith")"S530"iex> Soundex.soundex("Smithie")"S530" 细节...
`fuzzycollections-0.0.3-py2.py3-none-any.whl` 是一个针对Python编程语言的库,名为 `fuzzycollections` 的版本0.0.3的安装包。这个库主要提供了模糊匹配和集合操作的功能,特别适用于在数据处理和搜索时需要一定...
在“soundex-code-master”目录下,我们可以找到实现Soundex编码的源代码。这个实现通常包括以下几个步骤: 1. **提取首字母**:保持姓名的第一个字母不变,因为它通常代表了单词的主要音节。 2. **音节编码**:对...
资源分类:Python库 所属语言:Python 资源全名:soundex-1.1.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
离线安装包,亲测可用
离线安装包,亲测可用
var soundex = require ( 'soundex-code' ) soundex ( 'phonetics' ) // => 'P532' soundex ( 'Ashcraft' ) // => 'A261' soundex ( 'Lissajous' ) // => 'L222' soundex ( 'Smith' ) === soundex ( 'Schmit' ) // ...
retext-soundex 算法的实现。安装 : npm install retext-soundex retext-soundex也可用于 , 和以及和的AMD,CommonJS和globals模块。用法 var retext = require ( 'retext' ) ;var inspect = require ( 'unist-...
Perlgolf History Perlgolf History Edition 2007-01-09 top secret / strictly confidential page 2 of 520 Contents 1. Intro.........................................................................
在压缩包文件“FuzzyQuery”中,可能包含的源代码文件可能有`.java`、`.cpp`或`.py`等,分别对应Java、C++或Python等编程语言实现的模糊查询功能。源代码将展示如何构建Trie树、如何使用SQL查询以及可能的优化策略,...
在编程领域,Soundex是一种经典的字符串相似度算法,主要用于处理英文姓名,通过将名字转换成一个固定长度的编码,使得发音相近的单词编码结果相同。这个算法在数据库查询、信息检索以及数据清洗等方面有着广泛的...
本压缩包文件"易语言源码易语言模糊查找窗口源码.rar"提供了易语言实现的模糊查找窗口的源代码,这对于学习易语言以及理解模糊查找算法具有很高的参考价值。 模糊查找是一种在数据集中查找与目标值相似但不完全匹配...
在Rust的`soundex-rs`库中,开发者可以方便地调用相应的函数,如`soundex::soundex()`,将输入的字符串转化为Soundex代码,进而进行发音相似性的比较。在`tests.rs`文件中,我们可以看到库的测试用例,这些用例展示...
其中,`commons-codec-1.6-src.zip`是一个包含Apache Commons Codec库1.6版本的源代码压缩包。这个库广泛应用于Java开发中,为开发者提供了丰富的编码和解码功能,如Base64编码、URL编码、发音编码(如Soundex)等。...
【fuzzy-源码.rar】是一个压缩包文件,通常包含了一组与模糊匹配或模糊查找相关的源代码。从文件名可以推断,这个压缩包很可能包含了一个名为“fuzzy”的软件或库的源代码实现。模糊匹配是计算机科学中一个重要的...
13.10. py_compile 模块 13.11. compileall 模块 13.12. ihooks 模块 13.13. linecache 模块 13.14. macurl2path 模块 13.15. nturl2path 模块 13.16. tokenize 模块 13.17. keyword 模块 13.18. parser ...
离线安装包,亲测可用
离线安装包,亲测可用
在IT领域,模糊查询是一种非常常见的搜索技术,它允许用户输入不完全或不精确的...通过分析和学习“模糊查询源代码案例2”,开发者不仅可以学习到具体的编程技巧,还能加深对模糊查询算法的理解,进一步提高开发能力。
在这个"易语言模糊查找窗口源码.7z"压缩包中,包含的是使用易语言编写的模糊查找窗口的源代码。模糊查找是一种在大量数据中快速搜索部分匹配的查询技术,它允许用户输入不完全或者模糊的关键词来查找相关结果。 源...