在字典中放置功能

时间:2019-03-21 12:41:44

标签: python

在Perl中,如果我希望将hash元素的值作为对匿名子例程的引用:

my $hash = { hi => sub { print "dummy" } };
$hash->{hi}->();   # Prints "dummy".

Python中以前的哈希/字典是否有等效的方法?

注意:我需要键值包含函数,而不是重定向到函数的引用

1 个答案:

答案 0 :(得分:2)

如果我对您的理解正确,则可以使用lambda函数创建匿名函数:

d = {'key': lambda x: print(x)}
d['key']("hello")
# prints "hello"

如果您需要更复杂的功能,则最好编写该功能并添加对字典的引用。

[每个注释] lambda不需要该参数。您还可以使用:

d = {'key': lambda: print("Hello")}

并在不带参数的情况下调用它:

d['key']() # also prints "hello"