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 -> 'KeyFonction 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