You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Haskell列表推导式修改:生成指定对应元素的目标输出

修改Haskell列表推导式达成预期输出

你需要把原来的笛卡尔积遍历改成按位置配对遍历,用zip函数将[1,2]和"ab"的对应元素绑定在一起,让每个a只匹配同位置的b,而非遍历所有b。

修改后的列表推导式:

[((a,b),a+1) | (a,b) <- zip [1,2] "ab"]

原理说明

  • 原推导式中a <- [1,2], b <- "ab"是笛卡尔积遍历逻辑:每个a都会和所有b组合,因此生成4个元素。
  • zip [1,2] "ab"会生成配对列表[(1,'a'), (2,'b')],遍历这个配对列表时,每个a仅对应一个同位置的b,最终就能得到你想要的两个元素结果。

内容的提问来源于stack exchange,提问作者marvincyk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 20:45:31