我希望从两个列表X
和Y
创建一个列表,如果X
值大于{X
值,则只取Y
值1}}。我试过这个:
[ X || X <- [1,2,3], Y <- [0,2,1], X > Y].
但它不像我想象的那样有效。我想要输出:[1,3]
但我得到了:
[1,2,2,3,3,3]
我如何使用列表推导来完成此操作?
答案 0 :(得分:5)
您可以使用lists:zip
和列表理解:
1> [X || {X, Y} <- lists:zip([1, 2, 3], [0, 2, 1]), X > Y].
[1,3]