我有一些字符,例如 ["ab"],我只有两个数字,零和一。我想得到一个答案
[[('a', 1), ('b', 1)],
[('a', 0), ('b', 1)],
[('a', 1), ('b', 0)],
[('a', 0), ('b', 0)]]
我是初学者,有人可以帮助我吗?
非常感谢你。
我有一些字符,例如 ["ab"],我只有两个数字,零和一。我想得到一个答案
[[('a', 1), ('b', 1)],
[('a', 0), ('b', 1)],
[('a', 1), ('b', 0)],
[('a', 0), ('b', 0)]]
我是初学者,有人可以帮助我吗?
非常感谢你。
最有趣的部分是生成和的所有可能序列的0
列表1
;一种方法是通过replicateM
:
> replicateM 2 [1,0]
[[1,1],[1,0],[0,1],[0,0]]
您可以使用map
并zip
从那里:
> map (zip "ab") (replicateM 2 [1,0])
[[('a',1),('b',1)],[('a',1),('b',0)],[('a',0),('b',1)],[('a',0),('b',0)]]
为了完全匹配您的答案,您必须做一些额外的修改:
> map (zip "ab" . reverse) (replicateM 2 [1,0])
[[('a',1),('b',1)],[('a',0),('b',1)],[('a',1),('b',0)],[('a',0),('b',0)]]