我有两个列表,例如:
let x = [1;2];;
let y = [true;false];;
我想基本上有一个带有
的(int * boolean)列表[[(1,true);(2;false)];[(1,true);(2,true);];[(1,false);(2,true);];[(1,false);(2,false);]]
任何人都知道如何做到这一点?
答案 0 :(得分:2)
我认为没有人回答,因为这有点像家庭作业问题。我首先考虑所需结果中所有对的第二个元素。我看到一个非常规则的结构:TF,TT,FT,FF。按顺序(比方说)FF,FT,TF,TT会有点更多。无论如何,一旦你可以列出看起来像这样的列表,使用List
模块中的函数很容易将列表与其他列表配对。
(如果你展示了一些你尝试过的东西,你可能会得到更多的答案,并解释为什么它们不起作用。)
此致
答案 1 :(得分:2)
关于操作究竟是什么,问题没有明确说明。那么[(1,true);(1,false)]
呢?似乎操作不是对称的 - x
中的内容总是以该顺序出现,而y
中的内容可以重复并以任何顺序出现。如果你把它分解成两个任务,也许会有所帮助:
答案 2 :(得分:-1)