Discuss / Python / 我得答案

我得答案

Topic source

第一题: def normalize(s): return s[0].upper()+s[1:].lower() 第二题: def prod(L): return reduce(lambda x,y:xy,L) 第三题: def str2float(s): L=s.split('.'); return reduce(lambda x,y:y+x10,map(int,L[0]))+reduce(lambda x,y:y+x10,map(int,L[1]))/10*len(L[1])

星号*会不见一个呢

因为这个网页文本编辑器是Markdown的语法,所以那个乘法的星*号会被解析成斜体

你的做法很好,简单易懂

Loiter23

#5 Created at ... [Delete] [Delete and Lock User]

lambda() 在输入值是iterator和iterable时感觉完全不一样啊

Loiter23

#6 Created at ... [Delete] [Delete and Lock User]

我有个疑问一直想不明白 reduce在输出值是一个iterable(比如[123]),和输入一个map(int,['123'])返回的iterator时完全不一样

一分为八

#7 Created at ... [Delete] [Delete and Lock User]

第三题结果: def str2float(s): L = s.split('.'); return reduce(lambda x,y : y+x10, map(int, L[0])) + reduce(lambda x,y : y+x10, map(int, L[1]))*pow(10, -len(L[1]))

不是要求用map吗,感觉map之后就比较麻烦了。


  • 1

Reply