Seq.countBy<'T,'Key>, fonction (F#)
Applique une fonction génératrice de clé à chaque élément d'une séquence et retourne une séquence qui produit des clés uniques et leur nombre d'occurrences dans la séquence d'origine.
Espace de noms/Chemin du module : Microsoft.FSharp.Collections.Seq
Assembly : FSharp.Core (in FSharp.Core.dll)
// Signature:
Seq.countBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * int> (requires equality)
// Usage:
Seq.countBy projection source
Paramètres
projection
Type : 'T -> 'KeyFonction qui transforme chaque élément de la séquence d'entrée en une clé à comparer aux autres.
source
Type : seq<'T>Séquence d'entrée.
Exceptions
Exception |
Condition |
---|---|
Levée lorsque la séquence d'entrée a la valeur Null. |
Valeur de retour
Une séquence de clés uniques et de leur numéro d'occurrences dans la séquence d'origine.
Notes
Notez que 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 CountBy 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.countBy pour déterminer le nombre d'éléments dans une séquence qui sont impairs ou pairs.
let mySeq1 = seq { 1.. 100 }
let printSeq seq1 = Seq.iter (printf "%A ") seq1; printfn ""
let seqResult = Seq.countBy (fun elem ->
if (elem % 2 = 0) then 0 else 1) mySeq1
printSeq seqResult
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