def str2float(s): ss = s.split('.') + [''] DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} def dig(s): return DIGITS[s] s0 = map(dig, ss[0] + ss[1]) def inte(x, y): return x * 10 + y f1 = reduce(inte, s0) def flot(x, y): return x * 0.1 f2 = reduce(flot, [f1]+list(ss[1])) return f2
对,就是那个 +['']
因为如果字符串没小数点的话,ss[1]可能没定义
附:reduce真就完全不处理 Iterable 的首项了嗷,那么函数再把后元空置,这真就是原地tp
Sign in to make a reply
幽境的荼蘼
对,就是那个 +['']
因为如果字符串没小数点的话,ss[1]可能没定义
附:reduce真就完全不处理 Iterable 的首项了嗷,那么函数再把后元空置,这真就是原地tp