如何将字符串添加到列表列表中

时间:2014-08-25 20:40:31

标签: list f# append

我是F#的新人:)

我有a =[[|"hi"|];[|"how";"are"|];[|"you"|];[|"fine";"and";"you"|]]

我想添加这样的值:

b = [[|"12345";"hi"|];[|"32443";"how";"are"|];[|"32422";"you"|];[|"23232";"fine";"and";"you"|]]

这些数字字符串值来自字符串列表

c = (["12345";"32443";"32422";23232])

a和b都有相同的长度。我怎么能这样做?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以使用List.map2函数,它会获取您的2个列表ac,并为a和c中的每对元素运行一个函数:

let b = List.map2 (fun number array -> Array.append [|number|] array) c a

请注意Array.append将创建新数组。如果a的元素不必是数组,而是可以是列表,那么效率会更高。这是因为在列表中首先添加元素是一种非常快速的操作,并且它不会创建新列表:

let a = [["hi"];["how";"are"];["you"];["fine";"and";"you"]]
let b = List.map2 (fun number ls -> number::ls) c a