మాడ్యూల్ పాఠాలు (4/4)
సెట్స్
సెట్ అనేది ప్రత్యేకమైన, క్రమం లేని అంశాల సమాహారం. మూడు అగ్రరాజ్యాలు:
- ఆటోమేటిక్ డీప్లికేషన్: ఒకే మూలకాన్ని రెండుసార్లు జోడించడం వల్ల ఎటువంటి ప్రభావం ఉండదు.
- O(1) సభ్యత్వ పరీక్ష:
x in sమిలియన్ల సంఖ్యలో ఉన్నప్పటికీ చాలా వేగంగా ఉంటుంది మూలకాల యొక్క (ఇది హాష్-ఆధారితది, డిక్ట్ల వంటిది). - సెట్ ఆపరేషన్లు: యూనియన్, ఖండన, వ్యత్యాసం, సౌష్టవ వ్యత్యాసం.
సమితిని సృష్టిస్తోంది
vuoto = set() # ATTENZIONE: {} è un dict vuoto, non un set!
numeri = {1, 2, 3}
da_lista = set([1, 1, 2, 3, 3, 3]) # {1, 2, 3}జంట కలుపులు మాత్రమే {} ఖాళీ నిఘంటువుని సృష్టించండి, సెట్ కాదు: ఖాళీ సెట్ కోసం
మీకు set() అవసరం.
సమితిని సవరించడం
s = {1, 2, 3}
s.add(4) # {1, 2, 3, 4}
s.add(1) # nessun effetto (già presente)
s.discard(99) # rimuove se presente, silenzioso altrimenti
s.remove(2) # rimuove o solleva KeyErrorకార్యకలాపాలను సెట్ చేయండి
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
a | b # {1, 2, 3, 4, 5, 6} unione
a & b # {3, 4} intersezione
a - b # {1, 2} differenza (in a ma non in b)
a ^ b # {1, 2, 5, 6} differenza simmetrica (xor)పద్ధతి ఫారమ్లు కూడా ఉన్నాయి (a.union(b), a.intersection(b), …) వీటిలో
అదనంగా సెట్లను మాత్రమే కాకుండా, ఏదైనా మళ్ళించదగినదిగా అంగీకరించండి.
సభ్యత్వ పరీక్ష
parole = {"ciao", "mondo", "python"}
"ciao" in parole # True O(1)
"java" not in parole # Trueపోలిక కోసం: list లోపల inతో శోధించడం O(n) మరియు చాలా పొడవుగా ఉంటుంది
ఇది చాలా నెమ్మదిగా ఉందని జాబితా చేస్తుంది.
ఘనీభవించిన సెట్: మార్పులేని వెర్షన్
frozenset({1, 2, 3}) అనేది హ్యాషబుల్ వెర్షన్: ఇది డిక్ట్ కీ లేదా ఒక
మరొక సెట్ యొక్క మూలకం.
కార్యకలాపాలు మరియు పనితీరును సెట్ చేయండి
సెట్లు హాష్ టేబుల్ల వలె అమలు చేయబడతాయి, ఇది సభ్యత్వ పరీక్షను (x in my_set) అత్యంత వేగంగా చేస్తుంది: ఇది స్థిరమైన సమయంలో నడుస్తుంది O(1), శోధనకు లీనియర్ సమయం పట్టే జాబితాల వలె కాకుండా O(n). అదనంగా, వారు యూనియన్ (|), ఖండన (&), మరియు తేడా (-) వంటి బీజగణిత కార్యకలాపాలకు మద్దతు ఇస్తారు.
దీనిని ప్రయత్నించండి
`సంఖ్యలు = [1, 2, 2, 3, 3, 3, 4]` జాబితాను అందించి, ప్రత్యేక విలువలతో (ఏదైనా క్రమంలో) `unique_items`ని రూపొందించి, ఆపై `count`ని len(unique_items)గా గణించండి. `కౌంట్`ని మూల్యాంకనం చేయండి.
సూచనను చూపించు
సెట్(సంఖ్యలు) నకిలీలను తొలగిస్తుంది.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం సమీక్షించండి
`a = {1, 2, 3, 4}` మరియు `b = {3, 4, 5, 6}` అందించబడి, ఖండనను `common_items`గా మరియు a-bని `only_a`గా గణించండి. టుపుల్ `(సాధారణ_అంశాలు, మాత్రమే_ఎ)`ని మూల్యాంకనం చేయండి.
సూచనను చూపించు
& ఖండన, - తేడా.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
అదనపు సవాలు
Given two sets `set_a = {1, 2, 3}` and `set_b = {2, 3, 4}`, calculate the mathematical intersection of the two sets (their common elements). Store the resulting set in `common_elements` and evaluate it.
సూచనను చూపించు
మీరు & ఆపరేటర్ లేదా set_a.intersection(set_b) పద్ధతిని ఉపయోగించవచ్చు.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది