Я пытаюсь настроить список кортежей из списка целых чисел в этой форме:
(a, b) a <- [1..4] и b <- xs. Но я продолжаю получать все различные комбинации заявления. </p>
okTup :: [Int] -> [(Int,Int)]
okTup xs = [(i,j) | i <- [1..4], j <- xs]
Ввод: okTup [3,1,4,2]
Что я получаю, это:
[(1,3), (1,1), (1,4), (1,2), (2,3), (2,1), (2,4), (2,2), ( 3,3), (3,1), (3,4), (3,2), (4,3), (4,1), (4,4), (4,2)]
Но я хочу только этого:
[(1, 3 ), (2, 1 ), (3, * +1014 * 4 ), (4, 2 )]