Haskell:如何将列表转换为列表,其中每个元素是列表中的位置元组和原始数据?

时间:2015-09-30 03:30:04

标签: haskell

我需要将列表转换为列表,其中每个元素是其在列表中的位置元组和原始数据。例如

[a,b,c,d] -> [(1,a),(2,b),(3,c),(4,d)]

1 个答案:

答案 0 :(得分:3)

我能想到的最简单的方法是使用zip函数。它将两个列表作为参数并返回元组列表。将其与范围[1..]配对,即可获得所需内容:

zip [1..] [a,b,c,d]

将返回

[(1,a),(2,b),(3,c),(4,d)]