たとえば、["ab"]などの文字がいくつかあり、0と1の2つの数字しかありません。そして、私は次のような答えを得たい
[[('a', 1), ('b', 1)],
[('a', 0), ('b', 1)],
[('a', 1), ('b', 0)],
[('a', 0), ('b', 0)]]
私は初心者ですが、誰か助けてもらえますか?
どうもありがとうございます。
たとえば、["ab"]などの文字がいくつかあり、0と1の2つの数字しかありません。そして、私は次のような答えを得たい
[[('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)]]