我想要一个函数f
,它获取列表并返回从每个列表中取一个元素所产生的所有可能组合的元组列表。F#中是否有库函数组合不同列表中的元素
例如
f [["A";"B";"C"];[1;2]]
将使结果:
[("A",1);("A",2);("B",1);("B",2);("C",1);("C",2)]
和:
f [[onions;peas];[mash;fries];[chicken;steak]]
会给:
[(onions,mash,chicken);(onions,mash,steak);(onions;fries;chicken) ... (peas,fries,steak)]
我正在考虑滚动我自己的,但感觉像那里必须是一个库函数比我的拇指拳头方法更好地优化,但我似乎无法找到任何搜索(我可能不知道这个正确的组合术语,所以继续打不同的组合方法&函数)