Cof*_*ker 4 python lambda dictionary void python-2.7
也就是说,一个没有输入并且不返回任何内容的lambda.
我正在考虑在Python中模仿switch语句的聪明方法.这是我的尝试(无济于事):
statement = {
"Bob": lambda: print "Looking good, Bob!",
"Jane": lambda: print "Greetings, Jane!",
"Derek": lambda: print "How goes it, Derek?"
}[person]()
Run Code Online (Sandbox Code Playgroud)
lambda函数的内容必须是单个表达式; 不允许任何陈述.而且,print是Python 2.x中的一个声明.这意味着你不能在lambda中使用它.
如果你想使用Python 3.x print函数,可以__future__像这样导入它:
# Add this line to the top of your script file
from __future__ import print_function
Run Code Online (Sandbox Code Playgroud)
现在,print可以在lambdas中使用,因为它是一个函数:
statement = {
"Bob": lambda: print("Looking good, Bob!"),
"Jane": lambda: print("Greetings, Jane!"),
"Derek": lambda: print("How goes it, Derek?")
}[person]()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2277 次 |
| 最近记录: |