ماڈیول اسباق (2/4)
ڈکٹ اور فہم مقرر کریں۔
فہرست کی تفہیم کے لیے استعمال ہونے والا وہی نحو بھی تعمیر کرنے کا کام کرتا ہے۔ ڈکٹ اور سیٹ اقدار — آپ صرف بریکٹ کو تبدیل کرتے ہیں۔
ڈکٹ فہمی۔
نحو: {key: value for element in iterable}۔
quadrati = {n: n * n for n in range(5)}
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}عام پیٹرن: ٹیپلز کی فہرست کو ڈکٹ میں تبدیل کریں۔
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)ایک ڈکٹ کی چابیاں اور اقدار کو تبدیل کریں:
originale = {"a": 1, "b": 2, "c": 3}
invertito = {v: k for k, v in originale.items()}
# {1: 'a', 2: 'b', 3: 'c'}ڈکٹ کو فلٹر کریں:
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}۔ ایک فہرست کی طرح
فہم، لیکن گھوبگھرالی منحنی خطوط وحدانی کے ساتھ۔
parole = ["ciao", "mondo", "ciao", "python"]
uniche = {p.upper() for p in parole}
# {'CIAO', 'MONDO', 'PYTHON'}ناموں کی فہرست سے منفرد ابتدائیہ:
nomi = ["Ada", "Linus", "Grace", "Alan", "Guido"]
iniziali = {n[0] for n in nomi}
# {'A', 'L', 'G'}فلٹر + تبدیلی
جیسا کہ فہرست کی تفہیم کے ساتھ، پیچھے والے if فلٹرز:
{n: n * n for n in range(10) if n % 2 == 0}
# {0: 0, 2: 4, 4: 16, 6: 36, 8: 64}کلیدوں اور اقدار کو تبدیل کرنے کے لیے ڈکٹ فہمیاں
ایک لغت کو الٹنے کا ایک بہت عام نمونہ (کیز اور اقدار کو تبدیل کرنا، یہ فرض کرتے ہوئے کہ اقدار منفرد ہیں) یہ ہے:
orig_dict = {'a': 1, 'b': 2}
inv_dict = {value: key for key, value in orig_dict.items()}
# result: {1: 'a', 2: 'b'}اسے آزمائیں
دیے ہوئے `الفاظ = ['میلہ'، 'پیرا'، 'کیوی'، 'کیلا']'، 'لمبائی' کو بطور ڈیکٹ {لفظ: لین(لفظ)} بنائیں۔ 'لمبائی' کا اندازہ کریں۔
اشارہ دکھائیں۔
{p: len(p) الفاظ میں p کے لیے}
3 کوششوں کے بعد حل دستیاب ہے۔
ورزش کا جائزہ لیں۔
`نمز = [1, 2, 2, 3, 4, 4, 5]` دیے ہوئے، مربعوں کے ایک سیٹ کے طور پر `unique_squares` بنائیں۔ `منفرد_مربع` کا اندازہ کریں۔
اشارہ دکھائیں۔
':' کے بغیر گھوبگھرالی منحنی خطوط وحدانی = فہم مقرر کریں۔
3 کوششوں کے بعد حل دستیاب ہے۔
اضافی چیلنج
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 کوششوں کے بعد حل دستیاب ہے۔