4
,我有以下類型的有序序列:篩選順序由物業
type Comparison<'a when 'a :> IKey > = {Id: string; src: 'a; dest: 'a}
我希望做的是那裏的多條記錄與同Id
只取每個id的序列中最新的記錄(該序列已從有序查詢結果中生成)以及記錄Id不與其他記錄共享的記錄。
F#中是否有方法以這種方式生成新的序列?
,我有以下類型的有序序列:篩選順序由物業
type Comparison<'a when 'a :> IKey > = {Id: string; src: 'a; dest: 'a}
我希望做的是那裏的多條記錄與同Id
只取每個id的序列中最新的記錄(該序列已從有序查詢結果中生成)以及記錄Id不與其他記錄共享的記錄。
F#中是否有方法以這種方式生成新的序列?
如何:
items
|> Seq.groupBy (fun x -> x.Id)
|> Seq.map (snd >> Seq.last)
這組中的物品放入元組序列,其中,第一項是ID,第二個是與該標識元件的序列。
然後,該映射將Seq.last應用於這些元組的第二個元素。
這很好。謝謝。 –
如果你的序列的底層實現保證了順序,你只需要使用'Seq.filter' – Sehnsucht