ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 6 · 4లో పాఠం 2కోర్సులో 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: పదాలలో p కోసం len(p)}

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం సమీక్షించండి

వ్యాయామం#python.m6.l2.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

ఇచ్చిన `సంఖ్యలు = [1, 2, 2, 3, 4, 4, 5]`, స్క్వేర్‌ల సెట్‌గా `యూనిక్_స్క్వేర్‌లు` బిల్డ్ చేయండి. `అద్వితీయ_చతురస్రాలు` మూల్యాంకనం చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

':' లేకుండా కర్లీ బ్రేస్‌లు = సెట్ కాంప్రహెన్షన్.

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 names in names}.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది