在此示例中,我从一组中获取字母并将它们附加到字典中,其中字母成为键,文字 1 成为每对的值。
def base_dict_from_set(s):
return reduce(lambda d,e : addvalue(1, e, d), s, dict())
def addvalue(value, key, d):
d[key] = value
return d
>>> base_dict_from_set(set("Hello World!".lower()))
{'o': 1, '!': 1, 'l': 1, 'd': 1, 'w': 1, ' ': 1, 'r': 1, 'e': 1, 'h': 1}
我想知道我是否可以以某种方式摆脱“addvalue”辅助函数并添加元素并在 lambda 函数本身中引用修改后的字典。
addvalue 本身的例程对我来说非常简单,所以我更喜欢看起来像这样的东西:
def base_dict_from_set(s):
reutrn reduce(lambda d,e : d[e] = 1, s, dict())
我在 python 方面没有很多经验,我来自函数式编程的角度。我的目标是了解 python 的功能,但我太缺乏经验,无法正确表达和谷歌搜索我正在寻找的内容。