مرکزی مواد پر جائیں
ماڈیول 6 · سبق 2 از 4کورس میں 22/36~10 min
ماڈیول اسباق (2/4)

ڈکٹ اور فہم مقرر کریں۔

فہرست کی تفہیم کے لیے استعمال ہونے والا وہی نحو بھی تعمیر کرنے کا کام کرتا ہے۔ ڈکٹ اور سیٹ اقدار — آپ صرف بریکٹ کو تبدیل کرتے ہیں۔

ڈکٹ فہمی۔

نحو: {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لوڈ ہو رہا ہے…

دیے ہوئے `الفاظ = ['میلہ'، 'پیرا'، 'کیوی'، 'کیلا']'، 'لمبائی' کو بطور ڈیکٹ {لفظ: لین(لفظ)} بنائیں۔ 'لمبائی' کا اندازہ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

{p: len(p) الفاظ میں p کے لیے}

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.

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

نحو ہے {name: len(name) for name in names}۔

3 کوششوں کے بعد حل دستیاب ہے۔