小编six*_*nts的帖子

lambda函数返回在defaultdict中使用的键值

函数collections.defaultdict返回一个默认值,如果我的字典中没有键,则可以由我自己制作的lambda函数定义.

现在,我希望我的defaultdict返回未修改的键值,如果该键不存在.因此,我使用lambda标识函数lambda x:x.我希望defaultdict返回密钥.

>>>translation=defaultdict(lambda x:x)
>>>translation['Haus']='maison'
>>>translation['computer']='ordinateur'
>>>translation['computer']
'ordinateur'
Run Code Online (Sandbox Code Playgroud)

但是,当我用迄今为止缺席的密钥呈现我的defaultdict时:

>>>translation['email']
Run Code Online (Sandbox Code Playgroud)

我希望defaultdict转换返回'email'.然而,python 2.7说:

TypeError: <lambda>() takes exactly 1 argument (0 given)
Run Code Online (Sandbox Code Playgroud)

当然,我正在做一些愚蠢的事情.但是什么?

python lambda defaultdict

4
推荐指数
1
解决办法
1222
查看次数

标签 统计

defaultdict ×1

lambda ×1

python ×1