పైథాన్‌లో కలెక్షన్స్: పైథాన్ కలెక్షన్స్ గురించి మీరు తెలుసుకోవలసిన ప్రతిదీ



ఈ బ్లాగ్ అన్ని ప్రత్యేకమైన సేకరణ డేటా నిర్మాణాలతో కలెక్షన్స్ మాడ్యూల్‌తో పాటు పైథాన్‌లో అంతర్నిర్మిత సేకరణ డేటా రకాలను కవర్ చేస్తుంది.

పైథాన్ ప్రోగ్రామింగ్ భాషలో నాలుగు సేకరణ డేటా రకాలు ఉన్నాయి- జాబితా , tuple, సెట్లు మరియు . కానీ సేకరణలు అని పిలువబడే అంతర్నిర్మిత మాడ్యూల్‌తో కూడా వస్తుంది, ఇది ప్రత్యేకమైన డేటా నిర్మాణాలను కలిగి ఉంటుంది, ఇది ప్రాథమికంగా నాలుగు డేటా రకాల లోపాలను కవర్ చేస్తుంది. ఈ బ్లాగులో, మేము ప్రతి ప్రత్యేకమైన డేటా నిర్మాణాలను వివరంగా చూస్తాము. ఈ బ్లాగులో కప్పబడిన విషయాలు క్రిందివి:

పైథాన్‌లో సేకరణలు ఏమిటి?

పైథాన్లోని సేకరణలు ప్రాథమికంగా కంటైనర్ డేటా రకాలు, అవి జాబితాలు, సెట్లు, టుపుల్స్, డిక్షనరీ. డిక్లరేషన్ మరియు వాడకం ఆధారంగా వాటికి భిన్నమైన లక్షణాలు ఉంటాయి.





  • జాబితా చదరపు బ్రాకెట్లలో ప్రకటించబడింది, ఇది మార్చదగినది, నకిలీ విలువలను నిల్వ చేస్తుంది మరియు సూచికలను ఉపయోగించి మూలకాలను యాక్సెస్ చేయవచ్చు.

  • ఒక టుపుల్ ఆర్డర్ చేయబడింది మరియు ప్రకృతిలో మార్పులేనిది, అయినప్పటికీ నకిలీ ఎంట్రీలు ఒక టుపుల్ లోపల ఉండవచ్చు.



  • సమితి క్రమం లేనిది మరియు చదరపు బ్రాకెట్లలో ప్రకటించబడుతుంది. ఇది సూచిక చేయబడలేదు మరియు నకిలీ ఎంట్రీలు కూడా లేవు.

  • నిఘంటువులో కీ విలువ జతలు ఉన్నాయి మరియు ప్రకృతిలో మార్పు చెందుతాయి. నిఘంటువును ప్రకటించడానికి మేము చదరపు బ్రాకెట్లను ఉపయోగిస్తాము.

ఇవి పైథాన్ యొక్క సాధారణ ప్రయోజనం అంతర్నిర్మిత కంటైనర్ డేటా రకాలు. మనందరికీ తెలిసినట్లుగా, పైథాన్ ఎల్లప్పుడూ కొంచెం అదనంగా ఏదైనా కలిగి ఉంటుంది. ఇది ప్రత్యేకమైన డేటా నిర్మాణాలను కలిగి ఉన్న కలెక్షన్స్ అనే పైథాన్ మాడ్యూల్‌తో వస్తుంది.



ప్రత్యేక సేకరణ డేటా నిర్మాణాలు

సేకరణలు పైథాన్‌లో మాడ్యూల్ పైథాన్ యొక్క అంతర్నిర్మిత కంటైనర్ డేటా రకానికి ప్రత్యామ్నాయాన్ని అందించే ప్రత్యేక డేటా నిర్మాణాలను అమలు చేస్తుంది. సేకరణల మాడ్యూల్‌లోని ప్రత్యేక డేటా నిర్మాణాలు క్రిందివి.

  1. nametuple ()
  2. మరియు
  3. చైన్ మ్యాప్
  4. కౌంటర్
  5. ఆర్డర్డ్ డిక్ట్
  6. డిఫాల్ట్ డిక్ట్
  7. యూజర్‌డిక్ట్
  8. వినియోగదారు జాబితా
  9. యూజర్‌స్ట్రింగ్

nametuple ()

ఇది పేరున్న ఎంట్రీతో ఒక టుపుల్‌ను తిరిగి ఇస్తుంది, అంటే టుపుల్‌లోని ప్రతి విలువకు ఒక పేరు కేటాయించబడుతుంది. ఇది సూచిక విలువలను ఉపయోగించి మూలకాలను యాక్సెస్ చేసే సమస్యను అధిగమిస్తుంది. నేమ్‌టపుల్ () తో ఈ విలువలను ప్రాప్యత చేయడం సులభం అవుతుంది, ఎందుకంటే నిర్దిష్ట అంశాలను పొందడానికి మీరు ఇండెక్స్ విలువలను గుర్తుంచుకోవాల్సిన అవసరం లేదు.

అది ఎలా పని చేస్తుంది?

అన్నింటిలో మొదటిది, మీరు తప్పనిసరిగా సేకరణల మాడ్యూల్‌ను దిగుమతి చేసుకోవాలి, దీనికి సంస్థాపన అవసరం లేదు.

సేకరణల నుండి దిగుమతి పేరు

మీరు నేమ్‌టపుల్‌ను ఎలా ఉపయోగించవచ్చో అర్థం చేసుకోవడానికి క్రింది కోడ్‌ను చూడండి.

జావా ఒక ఉదాహరణ ఏమిటి
a = nametuple ('కోర్సులు', 'పేరు, టెక్') s = a ('డేటా సైన్స్', 'పైథాన్') ప్రింట్ (లు) # అవుట్పుట్ కోర్సులు (పేరు = 'పైథాన్', టెక్ = 'పైథాన్')

జాబితాను ఉపయోగించి పేరున్నటపుల్‌ను ఎలా సృష్టించాలి?

s._make (['డేటా సైన్స్', 'పైథాన్']) # అవుట్పుట్ మునుపటిలా ఉంటుంది.

మరియు

‘డెక్’ అని ఉచ్చరించబడిన డిక్యూ సులభంగా చొప్పించడం మరియు తొలగించడం కోసం ఆప్టిమైజ్ చేసిన జాబితా.

అది ఎలా పని చేస్తుంది?

# సేకరణల నుండి ఒక డీక్యూని సృష్టించడం deque a = ['d', 'u', 'r', 'e', ​​'k'] a1 = deque (a) print (a1) # అవుట్పుట్ deque ([' d ',' u ',' r ',' e ',' k '])

ఇప్పుడు మేము డీక్యూ నుండి అంశాలను ఎలా చొప్పించాలో మరియు తీసివేస్తామో చూద్దాం.

a1.append ('a') ప్రింట్ (a1) # అవుట్పుట్ deque (['d', 'u', 'r', 'e', ​​'k', 'a']) a1.appendleft (' e ') ప్రింట్ (a1) # అవుట్పుట్ డీక్యూ అవుతుంది ([' e ',' d ',' u ',' r ',' e ',' k ',' a '])

స్పష్టంగా ఉండాలి, ఒక భాగాన్ని చొప్పించడం డీక్యూని ఉపయోగించి మెరుగుపరచబడుతుంది, మీరు భాగాలను కూడా తొలగించవచ్చు.

a1.pop () ముద్రణ (a1) # అవుట్పుట్ deque (['e', 'd', 'u', 'r', 'e', ​​'k']) a1.popleft () print (a1) ) # అవుట్పుట్ డీక్యూ అవుతుంది (['d', 'u', 'r', 'e', ​​'k'])

అంతర్నిర్మిత డేటా రకాల మాదిరిగానే, మేము అనేక ఇతర ఆపరేషన్లు కూడా ఉన్నాయి. మూలకాలను లెక్కించడం లేదా డీక్యూ క్లియర్ చేయడం వంటివి.

చైన్ మ్యాప్

ఇది తరగతి వంటి నిఘంటువు, ఇది బహుళ మ్యాపింగ్‌ల యొక్క ఒకే వీక్షణను చేయగలదు. ఇది ప్రాథమికంగా అనేక ఇతర నిఘంటువుల జాబితాను అందిస్తుంది. మీకు అనేక కీ విలువ జతలతో రెండు నిఘంటువులు ఉన్నాయని అనుకుందాం, ఈ సందర్భంలో చైన్ మ్యాప్ దానిలోని రెండు నిఘంటువులతో ఒకే జాబితాను చేస్తుంది.

అది ఎలా పని చేస్తుంది?

c ++ లో విలీనం
సేకరణల నుండి చైన్ మ్యాప్ దిగుమతి a = {1: 'ఎడురేకా', 2: 'పైథాన్'} బి = {3: 'డేటా సైన్స్', 4: 'మెషిన్ లెర్నింగ్'} సి = చైన్ మ్యాప్ (ఎ, బి) ప్రింట్ (సి) # అవుట్పుట్ చైన్ మ్యాప్ [{1: 'ఎడురేకా', 2: 'పైథాన్'}, {3: 'డేటా సైన్స్', 4: 'మెషిన్ లెర్నింగ్'}]

మూలకాలను ప్రాప్యత చేయడానికి లేదా చొప్పించడానికి మేము కీలను సూచికగా ఉపయోగిస్తాము. కానీ చైన్ మ్యాప్‌లో క్రొత్త నిఘంటువును జోడించడానికి మేము ఈ క్రింది విధానాన్ని ఉపయోగిస్తాము.

a1 = {5: 'AI', 6: 'న్యూరల్ నెట్‌వర్క్‌లు'} c1 = c.new_child (a1) ప్రింట్ (c1) # అవుట్పుట్ చైన్ మ్యాప్ అవుతుంది [{1: 'ఎడురేకా', 2: 'పైథాన్'}, { 3: 'డేటా సైన్స్', 4: 'మెషిన్ లెర్నింగ్'}, {5: 'AI', 6: 'న్యూరల్ నెట్‌వర్క్‌లు'}]

కౌంటర్

ఇది నిఘంటువు ఉపవర్గం, ఇది హాష్ చేయదగిన వస్తువులను లెక్కించడానికి ఉపయోగించబడుతుంది.

అది ఎలా పని చేస్తుంది?

సేకరణల నుండి దిగుమతి కౌంటర్ a = [1,1,1,1,2,3,3,4,3,3,4] సి = కౌంటర్ (ఎ) ప్రింట్ (సి) # అవుట్పుట్ కౌంటర్ = ({1: 4, 2: 1, 3: 4, 4: 2})

డిక్షనరీలో మీరు చేయగలిగే ఆపరేషన్లతో పాటు కౌంటర్‌లో మేము చేయగలిగే మరో 3 ఆపరేషన్లు ఉన్నాయి.

  1. మూలకం ఫంక్షన్ - ఇది కౌంటర్‌లోని అన్ని అంశాలను కలిగి ఉన్న జాబితాను అందిస్తుంది.
  2. మోస్ట్_కామన్ () - ఇది కౌంటర్లోని ప్రతి మూలకం యొక్క గణనతో క్రమబద్ధీకరించబడిన జాబితాను అందిస్తుంది.
  3. తీసివేయండి () - ఇది పునరుత్పాదక వస్తువును వాదనగా తీసుకుంటుంది మరియు కౌంటర్లోని మూలకాల సంఖ్యను తీసివేస్తుంది.

ఆర్డర్డ్ డిక్ట్

ఇది డిక్షనరీ సబ్ క్లాస్, ఇది ఎంట్రీలు జోడించిన క్రమాన్ని గుర్తుంచుకుంటుంది. సాధారణంగా, మీరు కీ విలువను మార్చినప్పటికీ, నిఘంటువులో చేర్చబడిన క్రమం కారణంగా స్థానం మార్చబడదు.

అది ఎలా పని చేస్తుంది?

సేకరణల నుండి దిగుమతి ఆర్డర్డ్డిక్ట్ od = ఆర్డర్‌డిక్ట్ () od [1] = 'e' od [2] = 'd' od [3] = 'u' od [4] = 'r' od [5] = 'e' od . (4, 'r'), (5, 'e'), (6, 'k'), (7, 'a')]

డిక్షనరీలో ఏ విలువ చొప్పించబడిందో అది పట్టింపు లేదు, ఆర్డర్‌డిక్ట్ అది చొప్పించిన క్రమాన్ని గుర్తుంచుకుంటుంది మరియు తదనుగుణంగా అవుట్‌పుట్‌ను పొందుతుంది. మేము కీ విలువను మార్చినప్పటికీ. కీ విలువను 4 నుండి 8 కి మార్చినట్లయితే, అవుట్పుట్లో ఆర్డర్ మారదు.

డిఫాల్ట్ డిక్ట్

ఇది డిక్షనరీ సబ్‌క్లాస్, ఇది తప్పిపోయిన విలువలను సరఫరా చేయడానికి ఫ్యాక్టరీ ఫంక్షన్‌ను పిలుస్తుంది. సాధారణంగా, తప్పిపోయిన కీ విలువను నిఘంటువులో పిలిచినప్పుడు అది ఎటువంటి లోపాలను విసిరివేయదు.

అది ఎలా పని చేస్తుంది?

సేకరణల నుండి డిఫాల్ట్ డిక్ట్ దిగుమతి d = defaultdict (int) # మేము ఒక రకాన్ని కూడా పేర్కొనాలి. d [1] = 'ఎడురేకా' d [2] = 'పైథాన్' ప్రింట్ (d [3]) # ఇది కీరర్కు బదులుగా అవుట్‌పుట్‌ను 0 గా ఇస్తుంది.

యూజర్‌డిక్ట్

ఈ తరగతి నిఘంటువు వస్తువుల చుట్టూ రేపర్ వలె పనిచేస్తుంది. ఈ తరగతి యొక్క అవసరం నేరుగా డిక్ట్ నుండి సబ్ క్లాస్ అవసరం. అంతర్లీన నిఘంటువు లక్షణంగా మారడంతో ఈ తరగతితో పనిచేయడం సులభం అవుతుంది.

తోలుబొమ్మ మరియు చెఫ్ మధ్య వ్యత్యాసం
తరగతి సేకరణలు. యూజర్‌డిక్ట్ ([ప్రారంభ డేటా])

ఈ తరగతి నిఘంటువును అనుకరిస్తుంది. ఉదాహరణ యొక్క కంటెంట్ సాధారణ డిక్షనరీలో ఉంచబడుతుంది, ఇది క్లాస్ యూజర్‌డిక్ట్ యొక్క ‘డేటా’ లక్షణంతో యాక్సెస్ చేయవచ్చు. ప్రారంభ డేటా యొక్క సూచన ఉంచబడదు, ఎందుకంటే ఇది ఇతర ప్రయోజనాల కోసం ఉపయోగించబడుతుంది.

వినియోగదారు జాబితా

ఈ తరగతి జాబితా వస్తువుల చుట్టూ రేపర్ లాగా పనిచేస్తుంది. తరగతుల వంటి ఇతర జాబితాకు ఇది ఉపయోగకరమైన బేస్ క్లాస్, ఇది వాటి నుండి వారసత్వంగా పొందవచ్చు మరియు ఇప్పటికే ఉన్న పద్ధతులను భర్తీ చేస్తుంది లేదా తక్కువ క్రొత్త వాటిని కూడా జోడించవచ్చు.

ఈ తరగతి అవసరం నేరుగా జాబితా నుండి సబ్‌క్లాస్ చేయవలసిన అవసరం నుండి వచ్చింది. అంతర్లీన జాబితా లక్షణంగా మారినందున ఈ తరగతితో పనిచేయడం సులభం అవుతుంది.

తరగతి సేకరణలు. యూజర్‌లిస్ట్ ([జాబితా])

ఇది జాబితాను అనుకరించే తరగతి. ఉదాహరణలోని విషయాలు ఆచార జాబితాలో ఉంచబడతాయి. జాబితా యొక్క ఉప-తరగతులు ఒక కన్స్ట్రక్టర్‌ను అందించడానికి ఆధారపడతాయి, వీటిని ఎవరూ లేదా ఒక వివాదం లేకుండా పిలుస్తారు.

ఈ బ్లాగులో, పైథాన్‌లో సేకరణ మాడ్యూల్‌తో వచ్చే ప్రత్యేకమైన డేటా నిర్మాణాల గురించి తెలుసుకున్నాము. ఆప్టిమైజేషన్ మెరుగైన పనితీరు మరియు మెరుగైన ఫలితాలకు దారితీస్తుంది. మా స్వంత వృత్తి మరియు నైపుణ్యాలకు కూడా ఇది వర్తిస్తుంది. మీరు మీ అభ్యాసాన్ని ప్రారంభించాలనుకుంటే మరియు ప్రోగ్రామింగ్‌ను మీరు గ్రహించే విధానాన్ని ఆప్టిమైజ్ చేయాలనుకుంటే, ఎడురేకాలో నమోదు చేయండి మరియు పైథాన్‌తో అంతులేని అవకాశాలను తెలుసుకోండి.

ఏదైనా ప్రశ్నలు ఉన్నాయా? వ్యాఖ్యలలో వాటిని ప్రస్తావించండి మరియు మేము వీలైనంత త్వరగా మిమ్మల్ని సంప్రదిస్తాము.