2024-04-26 02:21:59 发布
网友
在哈斯凯尔,我可以
Prelude> [(y*3, y+4) | x<-[0..5], let y=x^2] [(0,4),(3,5),(12,8),(27,13),(48,20),(75,29)]
在Python中,没有重复power操作的等价物是什么呢
当然,我可以用lambda来模拟Haskell代码,但这感觉不太像Python。。。在
>>> [(lambda y: (y*3, y+4))(x**2) for x in range(5)]
你不能那样做。赋值总是Python中的一个语句;列表理解只能包含表达式。在
怎么样:
>>> [(x*3, x + 4) for x in map(lambda y: y**2, range(5))] [(0, 4), (3, 5), (12, 8), (27, 13), (48, 20)]
您不能在理解中指定变量,但可以使用嵌套的生成器表达式,它可以实现我认为您想要的(没有lambda函数)。在
[(y*3, y+4) for y in (x**2 for x in range(5))]
你不能那样做。赋值总是Python中的一个语句;列表理解只能包含表达式。在
怎么样:
您不能在理解中指定变量,但可以使用嵌套的生成器表达式,它可以实现我认为您想要的(没有lambda函数)。在
相关问题 更多 >
编程相关推荐