एक समूह आईडी/मूल्य tuples के एक दृश्य को देखते हुए यह समूह योग की गणना करने के लिए आसान (काफी उसी तरह मैं के साथ सी # और LINQ यह करना होगा) था:एफ # में ग्रुप योग - अनुक्रमों के साथ आसान, क्या यह सूचियों के साथ संभव है?
let items = ["g1",5; "g2",10; "g1",20]
let groupsums =
items
|> Seq.groupBy (fun x -> fst x)
|> Seq.map (fun (g, s) -> Seq.fold (fun acc x -> acc + snd x) 0 s)
लेकिन एफ # करने के लिए नया किया जा रहा है, मैं सूचियों के साथ ऐसा करने का कोई तरीका नहीं देख सकता है। क्या मुझे म्यूटेबल वैरिएबल का उपयोग करना है, या सूचियों के साथ ऐसा करने का एक कार्यात्मक तरीका है?
मैंने देखा नहीं .groupBy है;) लेकिन शायद वहाँ एफ # "जादू" किसी तरह का करने के लिए एक रास्ता है और ग्रुपिंग से बचें? इसके अलावा, "अपना खुद का निर्माण करने के लिए। समूह में मैं मानचित्र और सूची का उपयोग करूंगा" - सूची क्या है? सूची में .map है लेकिन कोई सूची नहीं है। –
@ सर्गी मैंने एक संभावित समाधान जोड़ा। – gradbot
धन्यवाद। क्या आपको लगता है कि प्रदर्शन या स्मृति पदचिह्न में कोई उल्लेखनीय अंतर होगा? –