Seq.distinctBy<'T,'Key> 함수(F#)
지정된 키 생성 함수에서 반환되는 키에 대한 제네릭 해시 및 같음 비교에 따라 중복 항목을 포함하지 않는 시퀀스를 반환합니다. 한 요소가 시퀀스에서 여러 번 나타나는 경우 나중에 나타나는 요소는 삭제됩니다.
네임스페이스/모듈 경로: Microsoft.FSharp.Collections.Seq
어셈블리: FSharp.Core(FSharp.Core.dll)
// Signature:
Seq.distinctBy : ('T -> 'Key) -> seq<'T> -> seq<'T> (requires equality)
// Usage:
Seq.distinctBy projection source
매개 변수
projection
형식: 'T -> 'Key시퀀스 항목을 비교 가능한 키로 변환하는 함수입니다.
source
형식: seq<'T>입력 시퀀스입니다.
예외
예외 |
Condition |
---|---|
입력 시퀀스가 null인 경우 throw됩니다. |
반환 값
결과 시퀀스입니다.
설명
컴파일된 어셈블리에서 이 함수의 이름은 DistinctBy입니다. F# 이외의 언어에서 함수에 액세스하거나 리플렉션을 통해 함수에 액세스하는 경우 이 이름을 사용합니다.
예제
다음 예제에서는 명확한 절대 값을 가지는 요소만 시퀀스로 유지하도록 Seq.distinctBy의 사용을 보여줍니다. 주어진 결과의 첫 번째 요소는 새 시퀀스에서 유지되므로 1에서 5의 양수는 -5에서 +10의 시퀀스에서 삭제됩니다.
let inputSequence = { -5 .. 10 }
let printSeq seq1 = Seq.iter (printf "%A ") seq1; printfn ""
printfn "Original sequence: "
printSeq inputSequence
printfn "\nSequence with distinct absolute values: "
let seqDistinctAbsoluteValue = Seq.distinctBy (fun elem -> abs elem) inputSequence
seqDistinctAbsoluteValue |> printSeq
플랫폼
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
버전 정보
F# 런타임
지원되는 버전: 2.0, 4.0
Silverlight
지원되는 버전: 3