朱莉娅的条件理解

2立方

在Python中,可以选择是否为理解中包含特定项目提供条件。

[x**2 for x in range(10) if x > 5]
# [36, 49, 64, 81]

可以有条件地使用函数,但是我还没有找到一种完全排除值的方法,除了filter!在理解之外使用它们。

l = collect(0:9)
filter!(x -> x > 5, l)
l = [x^2 for x in l]  # alternatively, map!(x -> x^2, l)
# [36, 49, 64, 81]

朱莉娅有可能吗?

塔索斯·帕帕斯蒂里亚努(Tasos Papastylianou)

在最新的Julia中有可能。

julia> [x^2 for x in 0:9 if x > 5]
4-element Array{Int64,1}:
 36
 49
 64
 81

否则,是的,如果您使用的是0.5之前的版本,则会遇到以下问题:

[x^2 for x in filter((x) -> x > 5, 0:9)]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章