from functools import reduce
def str2int(s):
def fn(x, y):
return x * 10 + y
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]
return reduce(fn, map(char2num, s))
我正在学习函数map()和reduce()。
{…}[.]是什么意思?你知道吗
Tags:
函数
char2num
将字符串更改为其int
值。例如,如果:它返回:
实际上,函数find
dictionary[s]
(使用键s
)并返回它的值,即它的int
值。你知道吗{}[]
意味着检查字典中的某个键,如果找到该键,则返回该键如果您尝试这样做,它基本上与将字典分配给标识符/变量并访问键相同
您会得到一个
KeyError
,说明字典中不存在特定的键至于函数的一般映射一般是用来将一个函数的运算应用于一个iterable
记住python中的字符串是iterable,因此映射返回相应的字典值
Reduce的工作原理是将函数应用于iterable,直到它返回单个值(例如,将此列表或iterable缩减为单个值)
例如,如果用字符串调用函数
映射遍历字符串并将其映射到字典中的值,然后返回一个列表
之后reduce将前两个参数作为
x and y
并应用什么操作x * 10 + y
并调用它,直到它只是一个值,所以在第一次调用时第二次呼叫
所以我们现在有一个值,最后在函数末尾返回值234,您可以使用函数的内部逻辑来习惯这个概念
它的意思很简单:构建一个dictionary并从一个键返回一个特定的值。你知道吗
相关问题 更多 >
编程相关推荐