Compartir a través de


Seq.groupBy<'T,'Key> (Función de F#)

Aplica una función de generación de claves a cada elemento de una secuencia y genera una secuencia de claves únicas y una secuencia de todos los elementos que tienen cada clave.

Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Collections.Seq

Ensamblado: FSharp.Core (en FSharp.Core.dll)

// Signature:
Seq.groupBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * seq<'T>> (requires equality)

// Usage:
Seq.groupBy projection source

Parámetros

  • projection
    Tipo: 'T -> 'Key

    Función que transforma un elemento de la secuencia en una clave comparable.

  • source
    Tipo: seq<'T>

    Secuencia de entrada.

Valor devuelto

Una secuencia de tuplas donde cada tupla contiene la clave única y una secuencia de todos los elementos que coinciden con la clave.

Comentarios

Esta función devuelve una secuencia que recorre la secuencia inicial completa en cuanto se itera por esa secuencia. Como resultado, esta función no se debe usar con secuencias grandes o infinitas. La función no hace ninguna suposición sobre la ordenación de la secuencia original.

Esta función se denomina GroupBy 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.groupBy para agrupar los números pares e impares de una secuencia en dos secuencias independientes.

let sequence = seq { 1 .. 100 }
let printSeq seq1 = Seq.iter (printf "%A ") seq1; printfn "" 
let sequences3 = Seq.groupBy (fun index ->
    if (index % 2 = 0) then 0 else 1) sequence
sequences3 |> 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

Vea también

Referencia

Collections.Seq (Módulo de F#)

Microsoft.FSharp.Collections (Espacio de nombres de F#)