मुख्य सामग्री पर जाएं
मॉड्यूल 6 · पाठ 2 का 4पाठ्यक्रम में 22/36~10 min
मॉड्यूल पाठ (2/4)

निर्देश देना और समझ निर्धारित करना

सूची समझ के लिए उपयोग किया जाने वाला समान सिंटैक्स निर्माण में भी काम करता है dict और set मान - आप बस कोष्ठक बदलें।

तानाशाही समझ

सिंटैक्स: {key: value for element in iterable}.

Python
quadrati = {n: n * n for n in range(5)}
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

सामान्य पैटर्न: टुपल्स की सूची को एक तानाशाही में बदलें।

Python
coppie = [("a", 1), ("b", 2), ("c", 3)]
d = {k: v for k, v in coppie}
# {'a': 1, 'b': 2, 'c': 3}
# (equivalente a dict(coppie) in questo caso)

तानाशाही की स्वैप कुंजियाँ और मान:

Python
originale = {"a": 1, "b": 2, "c": 3}
invertito = {v: k for k, v in originale.items()}
# {1: 'a', 2: 'b', 3: 'c'}

एक निर्देश फ़िल्टर करें:

Python
prezzi = {"mela": 1.2, "pera": 1.5, "kiwi": 2.5, "ananas": 4.0}
economici = {k: v for k, v in prezzi.items() if v < 2.0}
# {'mela': 1.2, 'pera': 1.5}

समझ निर्धारित करें

सिंटैक्स: {expression for element in iterable}. एक सूची के समान समझ, लेकिन घुंघराले ब्रेसिज़ के साथ।

Python
parole = ["ciao", "mondo", "ciao", "python"]
uniche = {p.upper() for p in parole}
# {'CIAO', 'MONDO', 'PYTHON'}

नामों की सूची से अद्वितीय प्रथमाक्षर:

Python
nomi = ["Ada", "Linus", "Grace", "Alan", "Guido"]
iniziali = {n[0] for n in nomi}
# {'A', 'L', 'G'}

फ़िल्टर + परिवर्तन

सूची समझ के साथ, अनुगामी if फ़िल्टर:

Python
{n: n * n for n in range(10) if n % 2 == 0}
# {0: 0, 2: 4, 4: 16, 6: 36, 8: 64}

कुंजियों और मूल्यों की अदला-बदली के लिए तानाशाही समझ

किसी शब्दकोश को उलटने का एक बहुत ही सामान्य पैटर्न (कुंजियों और मूल्यों की अदला-बदली, यह मानते हुए कि मान अद्वितीय हैं) है:

Python
orig_dict = {'a': 1, 'b': 2}
inv_dict = {value: key for key, value in orig_dict.items()}
# result: {1: 'a', 2: 'b'}

इसे अजमाएं

व्यायाम#python.m6.l2.e1
प्रयास: 0लोड हो रहा है...

दिया गया `शब्द = ['मेला', 'पेरा', 'कीवी', 'केला']`, `लंबाई` को एक निर्देश के रूप में बनाएं {शब्द: लेन(शब्द)}। 'लंबाई' का मूल्यांकन करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

{पी: शब्दों में पी के लिए लेन(पी)}

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#python.m6.l2.e2
प्रयास: 0लोड हो रहा है...

`अंक = [1, 2, 2, 3, 4, 4, 5]` दिए जाने पर, वर्गों के सेट के रूप में `unique_squares` बनाएं। `अद्वितीय_वर्ग` का मूल्यांकन करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

':' = सेट समझ के बिना घुंघराले ब्रेसिज़।

3 प्रयासों के बाद समाधान उपलब्ध है

अतिरिक्त चुनौती

व्यायाम#python.m6.l2.e3
प्रयास: 0लोड हो रहा है...

Given the list of strings `names = ["Alice", "Bob"]`, use a dict comprehension to create a dictionary that maps each name to its length. Store the dictionary in `name_lengths` and evaluate it.

संपादक लोड हो रहा है...
संकेत दिखाएँ

सिंटैक्स है {नाम: लेन(नाम) फॉर नेम इन नेम्स}।

3 प्रयासों के बाद समाधान उपलब्ध है