此问题在此处已有答案:
Haskell, 2 list to list of tuples pointwise(3个答案)
List comprehension vs zipWith in Haskell(5个答案)
21天前关闭。
[(x, y) | x <- ['a'..'z'], y <- ['A'..'Z']]
有没有办法得到这样的结果:
[(a,A), (b, B), ..]
而不是这个:
[(a, A), (a, B), ..]
而不使用任何加号函数?
此问题在此处已有答案:
Haskell, 2 list to list of tuples pointwise(3个答案)
List comprehension vs zipWith in Haskell(5个答案)
21天前关闭。
[(x, y) | x <- ['a'..'z'], y <- ['A'..'Z']]
有没有办法得到这样的结果:
[(a,A), (b, B), ..]
而不是这个:
[(a, A), (a, B), ..]
而不使用任何加号函数?
1条答案
按热度按时间xqkwcwgp1#
正确的方法是压缩这两个列表:
zip ['a'..'z'] ['A'..'Z']
.如果使用
ZipList
s,则可以使用应用型风格实现相同的效果:(Look有关详细信息,请访问LYAH。)
将以上内容与以下内容进行比较
这相当于您的列表理解。
我们基本上将相同的模式应用于“zip列表”,它与“普通列表”类似,但具有不同的修饰。
不幸的是(我并不知道),列表理解确实是一种“普通列表”理解,所以它并没有降低上述应用型风格的糖含量,这意味着
不是有效Haskell