我想知道对于大多数例子来说,使用它还是更具"pythonic" 功能lambda还是partial功能?
例如,我可能想要应用于imap某些列表,例如使用以下内容为每个元素添加3:
imap(lambda x : x + 3, my_list)
Run Code Online (Sandbox Code Playgroud)
或者使用partial:
imap(partial(operator.add, 3), my_list)
Run Code Online (Sandbox Code Playgroud)
我意识到在这个例子中循环可能更容易实现它,但我正在考虑更多非平凡的例子.
在Haskell中,我会在上面的例子中轻松选择部分应用程序,但我不确定Python.对我来说,lambda似乎是更好的选择,但我不知道大多数python程序员的主流选择是什么.
Actionscript中对象和字典之间究竟有什么区别?
var obj:Object = new Object();
obj.something = "something";
var dict:Dictionary = new Dictionary();
dict.something = "something";
trace(obj.something, dict.something);
Run Code Online (Sandbox Code Playgroud)
跟踪声明似乎相同......
我是Haskell的新手并尝试组合一个简单的函数来检查两个数字是否相等.这是编译,但是当我尝试对程序进行测试时,它说这不是详尽无遗的.我不明白它如何用布尔函数非穷举?提前致谢:
data Value = ConstInt Int
| Numequal Value Value
| Ctrue Bool
| Cfalse Bool
deriving (Read, Show)
eval:: Value -> Bool
eval (Numequal e1 e2) =
let x = eval e1
y = eval e2
in case (x, y) of
(i1, i2) ->
if x == y
then False
else True
Run Code Online (Sandbox Code Playgroud)