Seq.distinctBy<'T,'Key> (Función de F#)
Devuelve una secuencia que no contiene ninguna entrada duplicada según las comparaciones genéricas de hash e igualdad en las claves devueltas por la función de generación de claves especificada.Si un elemento aparece varias veces en la secuencia, se descartan las apariciones posteriores.
Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Collections.Seq
Ensamblado: FSharp.Core (en FSharp.Core.dll)
// Signature:
Seq.distinctBy : ('T -> 'Key) -> seq<'T> -> seq<'T> (requires equality)
// Usage:
Seq.distinctBy projection source
Parámetros
projection
Tipo: 'T -> 'KeyFunción que transforma los elementos de la secuencia en claves comparables.
source
Tipo: seq<'T>Secuencia de entrada.
Excepciones
Excepción |
Condition |
---|---|
Se produce cuando la secuencia de entrada es NULL. |
Valor devuelto
Secuencia resultante.
Comentarios
Esta función se denomina DistinctBy en los ensamblados compilados.Si obtiene acceso a la función desde un lenguaje distinto de F# o mediante reflexión, use este nombre.
Ejemplo
El ejemplo siguiente muestra el uso de Seq.distinctBy para mantener solamente los elementos de una secuencia con un valor absoluto distinto.El primer elemento con un resultado dado se conserva en la nueva secuencia, por lo que los números positivos del 1 al 5 se colocan en la secuencia de -5 a +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
Plataformas
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Información de versiones
Versiones de la biblioteca básica de F#
Se admite en: 2.0, 4.0, portables