从F#上的元组列表中创建一个列表

zCo*_*deX 2 f# f#-interactive

可以说我有一个元组列表.只是为了更容易引用,它是一个带有x和y值的坐标.

let test = [(1,34);(2,43);(3,21);(1,51);(2,98);(3,56);(1,51)]

我想使用test创建另一个列表,这样如果我只想要x值为1的值,它将返回[34; 51; 51]

Pan*_*vos 5

您需要首先过滤列表以获取x值为1的元组,然后映射结果以获取y值:

[(1,34);(2,43);(3,21);(1,51);(2,98);(3,56);(1,51)]
|> List.filter (fun (x,_)->x=1)
|> List.map snd
Run Code Online (Sandbox Code Playgroud)

返回:

[34;51;51]
Run Code Online (Sandbox Code Playgroud)