【发布时间】:2021-01-12 22:31:48
【问题描述】:
我写了一个 Haskell 函数来生成一个元组列表。
defineIndices :: Int -> Int -> [(Int,Int)]
defineIndices n m = [(i,j) | i <- [1..n], j <- [1..m]]
该函数具有以下行为。
λ> defineIndices 2 3
[(1,1),(1,2),(1,3),(2,1),(2,2),(2,3)]
事实证明,我需要如下行为的函数:
λ> defineIndices2D 2 3
[[(1,1),(1,2),(1,3)],[(2,1),(2,2),(2,3)]]
其中defineIndices2D 返回一个(Int,Int) 的列表,维度为n*m。我有点卡在这里,我想知道如何更改我现有的解决方案以生成更高阶的列表。
我的最终目标是生成一个 x,y 索引列表,用作 Data.Map 映射中值的键。
【问题讨论】:
标签: haskell