如何在F#中为列表推导使用多个生成器?

时间:2011-03-17 03:27:44

标签: f#

我正在尝试写这样的东西

[(x,y)|x<- [1,2,3], y <- [’a’,’b’]]
 => [(1,’a’),(1,’b’),(2,’a’),(2,’b’),(3,’a’),(3,’b’)]

3 个答案:

答案 0 :(得分:5)

[for x in [1;2;3] do
 for y in ['a';'b'] do
 yield x,y]

答案 1 :(得分:1)

只是另一种有趣的方式

[1;2;3] |> List.map ( fun X -> ['a';'b'] |> List.map (fun A -> X,A) )

答案 2 :(得分:-2)

F#等价物。

List.zip [1;2;3] ['a';'b';'c']