Partager via


Seq.groupBy<'T,'Key>, fonction (F#)

Applique une fonction génératrice de clé à chaque élément d'une séquence et produit une séquence de clés uniques, ainsi qu'une séquence de tous les éléments ayant chaque clé.

Espace de noms/Chemin du module : Microsoft.FSharp.Collections.Seq

Assembly : FSharp.Core (in FSharp.Core.dll)

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

// Usage:
Seq.groupBy projection source

Paramètres

  • projection
    Type : 'T -> 'Key

    Fonction qui transforme un élément de la séquence en une clé comparable.

  • source
    Type : seq<'T>

    Séquence d'entrée.

Valeur de retour

Une séquence de tuples, où chaque tuple contient la clé unique et une séquence de tous les éléments qui correspondent à la clé.

Notes

Cette fonction retourne une séquence qui condense l'intégralité de la séquence initiale dès que cette séquence est itérée. Par conséquent, cette fonction ne doit pas être utilisée avec des séquences importantes ou infinies. La fonction n'émet aucune hypothèse sur l'ordre de la séquence d'origine.

Cette fonction se nomme GroupBy dans les assemblys compilés. Si vous accédez à la fonction à partir d'un langage autre que F# ou par réflexion, utilisez ce nom.

Exemple

L'exemple suivant illustre l'utilisation de Seq.groupBy pour regrouper les chiffres pairs et impairs d'une séquence en deux séquences distinctes.

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
  

Plateformes

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Informations de version

Runtime F#

Pris en charge dans : 2.0, 4.0

Silverlight

Prise en charge dans : 3

Voir aussi

Référence

Collections.Seq, module (F#)

Microsoft.FSharp.Collections, espace de noms (F#)