Kotlin Academy · पाठ

समूहीकरण और विभाजन

डेटा व्यवस्थित करें

पाठ 2, कुल 4 में से13 चरण

समूहीकरण और विभाजन, CoddyKit पर Kotlin Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Kotlin Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Kotlin Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

डेटा को व्यवस्थित करना

कभी-कभी आपको किसी संग्रह को अलग-अलग श्रेणियों में बाँटना पड़ता है। Kotlin में कुंजी के आधार पर तत्वों को समूहों में रखने के लिए groupBy और किसी शर्त के आधार पर उन्हें दो सूचियों में बाँटने के लिए partition उपलब्ध हैं।

विभाजन फ़ंक्शन

partition किसी संग्रह को दो सूचियों वाली एक जोड़ी में बाँटता है: वे तत्व जो शर्त से मेल खाते हैं और वे जो मेल नहीं खाते।

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6)
    val (even, odd) = numbers.partition { it % 2 == 0 }
    println("Even: $even")
    println("Odd: $odd")
}

जोड़ी को अलग-अलग मानों में बाँटना

क्योंकि partition एक Pair लौटाता है, इसलिए जैसा ऊपर दिखाया गया है, आप इसे सीधे दो नामित चरों में बाँट सकते हैं। आप .first और .second तक भी पहुँच सकते हैं।

fun main() {
    val result = listOf(10, -5, 3, -8).partition { it >= 0 }
    println(result.first)
    println(result.second)
}

groupBy फ़ंक्शन

groupBy एक Map बनाता है, जिसमें प्रत्येक कुंजी चयनकर्ता द्वारा बनाई जाती है और मान उन सभी तत्वों की सूची होती है जिनकी कुंजी समान होती है।

fun main() {
    val words = listOf("apple", "banana", "avocado", "cherry")
    val byFirstLetter = words.groupBy { it.first() }
    println(byFirstLetter)
}

गणना की गई कुंजी के आधार पर समूहीकरण

कुंजी कोई भी गणना किया गया मान हो सकता है, जैसे किसी स्ट्रिंग की लंबाई या शेषफल।

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6, 7)
    val byRemainder = numbers.groupBy { it % 3 }
    println(byRemainder)
}

मान में बदलाव के साथ groupBy

groupBy एक दूसरी लैम्ब्डा स्वीकार करता है, जो प्रत्येक मान को समूह में रखने से पहले बदल देती है।

fun main() {
    val words = listOf("red", "rose", "blue", "berry")
    val grouped = groupExample(words)
    println(grouped)
}

fun groupExample(words: List<String>) =
    words.groupBy({ it.first() }, { it.uppercase() })

समूहों पर पुनरावृत्ति करना

चूँकि groupBy एक Map लौटाता है, इसलिए आप प्रत्येक समूह को संसाधित करने के लिए प्रविष्टियों पर पुनरावृत्ति कर सकते हैं।

fun main() {
    val animals = listOf("cat", "cow", "dog", "duck")
    val groups = animals.groupBy { it.first() }
    for ((letter, list) in groups) {
        println("$letter -> $list")
    }
}

groupingBy से गिनती करना

प्रत्येक कुंजी के लिए गिनती करने हेतु groupingBy के बाद eachCount का उपयोग करना प्रभावी और स्पष्ट है।

fun main() {
    val letters = listOf("a", "b", "a", "c", "b", "a")
    val counts = letters.groupingBy { it }.eachCount()
    println(counts)
}

partition बनाम फ़िल्टर

जब आपको केवल मेल खाने वाले तत्व चाहिए, तब filter का उपयोग करें। जब आपको मेल खाने वाले और मेल न खाने वाले BOTH तत्व चाहिए, तब partition एक ही बार में काम करके दोनों सूचियाँ लौटाता है।

fun main() {
    val ages = listOf(15, 22, 17, 30, 12)
    val (adults, minors) = ages.partition { it >= 18 }
    println("Adults: $adults, Minors: $minors")
}

groupBy और partition में चुनाव

किसी हाँ/नहीं वाली शर्त से तय होने वाले ठीक दो समूहों के लिए partition का उपयोग करें। जब किसी गुण के आधार पर कई समूह बनाए जा सकते हों, तब groupBy का उपयोग करें।

व्यावहारिक समूहीकरण

समूहीकरण और विभाजन लंबे मैन्युअल लूप की जगह मानचित्रों और सूचियों का उपयोग करते हैं। ये उद्देश्य को स्पष्ट रूप से व्यक्त करते हैं और हिसाब-किताब से जुड़ी गलतियाँ कम करते हैं।

त्वरित जाँच

partition क्या लौटाता है?

पुनरावलोकन

आपने किसी शर्त के आधार पर दो सूचियों में बाँटने के लिए partition, कुंजी के आधार पर मानचित्र में समूह बनाने के लिए groupBy, और गिनती के लिए groupingBy().eachCount() सीखा। अब आप एकत्रीकरण द्वारा संग्रहों को एकल मानों में बदलना सीखेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Kotlin सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
51
पाठ
203

अक्सर पूछे जाने वाले प्रश्न

क्या “समूहीकरण और विभाजन” पाठ निःशुल्क है?

हाँ — Kotlin Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “समूहीकरण और विभाजन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Kotlin Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“समूहीकरण और विभाजन” में मैं क्या सीखूँगा?

डेटा व्यवस्थित करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Kotlin Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Kotlin Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Kotlin Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“समूहीकरण और विभाजन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Kotlin Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Kotlin Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. फ़िल्टर करना और मैप करना
  2. समूहीकरण और विभाजन
  3. एकत्रीकरण
  4. एसोसिएशन और फ़्लैटनिंग
← Kotlin Academy पर वापस जाएँ