Discuss / Python / 第3题

第3题

Topic source

def str2float(s):

    intL, floatL = s.split('.')

    def char2num(s):

        return {'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9}[s]

    def fn(x, y):

        return x * 10 + y

    return reduce(fn, map(char2num, intL)) + reduce(fn, map(char2num, floatL)) / 10 ** len(floatL)

不知道为什么网页没有单发评论按钮(,只能回复QAQ

ChatGpt:为了更便于记忆map()reduce()函数的特性,我们可以尝试给它们起一些富有描述性的中文名字:

map()函数

map()函数的作用是对序列中的每个元素应用一个给定的函数,并返回一个新的迭代器,包含了应用函数后的结果。因此,我们可以将map()理解为映射或变换功能。

  • 中文名字建议:映射(Yìng Shè)或逐个变换(Zhú Gè Biàn Huàn)

映射(Yìng Shè):这个名字强调了map()函数将一个序列通过某种规则一一对应地转换成另一个序列的特性。

逐个变换(Zhú Gè Biàn Huàn):这个名字则更强调了map()函数处理序列时是逐个元素进行操作的过程,每个元素都按照给定的函数进行变换。

reduce()函数

reduce()函数的作用是将一个接受两个参数的函数累积地应用到序列的元素上,从而将序列减少为单一的值。这个过程是折叠(折叠所有元素为一个单一值)或累积的过程。

  • 中文名字建议:累积(Lěi Jī)或折叠(Zhé Dié)

累积(Lěi Jī):这个名字强调了reduce()函数通过累积应用给定函数来处理序列,最终归结为一个单一的结果的特性。

折叠(Zhé Dié):这个名字则更形象地描述了reduce()的过程,就像是将一系列的元素通过不断的折叠合并,最终只剩下一个元素。

通过这样的中文名字,你可以更直观地记住map()reduce()函数的功能和特点:映射(或逐个变换)和累积(或折叠)。希望这样能帮助你更好地理解和记忆它们!


  • 1

Reply