【发布时间】:2019-09-29 09:57:45
【问题描述】:
我想编写一个函数来计算 7 元组中数字 1 到 7 的所有组合,但每个数字在每个元组中只能出现一次。
到目前为止,我找到了这种方法,但它也会返回每个元组中多次出现相同数字的组合。我不太确定如何删除具有多个的元组 出现相同的次数。
a = [(a,b,c,d,e,f,g) | a <- [1..7], b <- [1..7], c <- [1..7],
d <- [1..7], e <- [1..7], f <- [1..7], g <- [1..7]]
目标结果示例(所有有效组合都应在此处):
[(1,2,3,4,5,6,7),(2,1,3,4,5,6,7),(2,3,1,4,5,6,7),...]
【问题讨论】:
-
你可以使用来自
Data.List的permutations [1..7]
标签: haskell list-comprehension