在F#中处理2个列表

时间:2015-03-16 15:16:15

标签: f# functional-programming

我有一些数据,如:

let id = [11;9;12];;
let student = [(9, "ann"); (10, "ben"); (11, "carl"); (12, "dave")];;

请帮我实现一个名为getName的函数 例如

> getName(id, student);;
- ["carl";"ann";"dave"]

1 个答案:

答案 0 :(得分:0)

如果您正在学习函数式编程,那么正确的方法是使用递归。但为了帮助您,您需要共享您尝试编写的代码。

实际上,最简单的选择可能是使用dict函数将列表转换为字典,然后查找字典中的所有ID:

let getStudents ids students = 
  let lookup = dict students
  ids |> List.map (fun id -> lookup.[id])

getStudents id student