首页 > 解决方案 > 如何根据主键将两个序列合并在一起?

问题描述

我很好奇如何基于主键在 F# 中合并两个序列。我没有尝试任何东西,因为我不知道从哪里开始。

例子:

原版两套:

ID Cash
(1,$5)
(2,$10)
(3,$5)

ID Car
(1,Yes) 
(2,No)
(3,Yes)

结果:

ID Cash Car
(1,$5,Yes)
(2,$10,No)
(3,$5,Yes)

标签: mergef#primary-key

解决方案


我可能会使用查询表达式来解决您的问题。

给定这个数据集:

let cashList = [ (1, 5); (2, 10); (3, 5) ]
let carList = [ (1, "Yes"); (2, "No"); (3, "Yes") ]

以下查询应该可以解决问题:

let result = query {
  for cash in cashList do
  join car in carList on (fst cash = fst car)
  select (fst cash, snd cash, snd car)
}

推荐阅读