|
18.6. 优化字符串操作
Soundex 算法的最后一步是对短结果补零和截短长结果。最佳的做法是什么?
这是目前在 soundex/stage2/soundex2c.py 中的做法:
digits3 = re.sub('9', '', digits2)
while len(digits3) < 4:
digits3 += "0"
return digits3[:4]
这里是 soundex2c.py 的表现:
C:\samples\soundex\stage2>python soundex2c.py
Woo W000 12.6070768771
Pilgrim P426 14.4033353401
Flingjingwaller F452 19.7774882003
思考的第一件事是以循环取代正则表达式。这里的代码来自 soundex/stage4/soundex4a.py:
digits3 = ''
for d in digits2:
if d != '9':
digits3 += d |
|