다음을 통해 공유


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

ArgumentNullException

입력 시퀀스가 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

참고 항목

참조

Collections.Seq 모듈(F#)

Microsoft.FSharp.Collections 네임스페이스(F#)