పైథాన్‌లో జాబితా గ్రహణశక్తిని ఎలా ఉపయోగించాలి

పైథాన్‌లో జాబితా గ్రహణశక్తిని ఎలా ఉపయోగించాలి

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





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





పైథాన్‌లో లిస్ట్ కాంప్రహెన్షన్ అంటే ఏమిటి మరియు ఇది ఎలా పని చేస్తుంది?

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





లిస్ట్ కాంప్రహెన్షన్‌ని ఉపయోగించడం వల్ల కలిగే ప్రయోజనం ఏమిటంటే, మీరు ఒకే జాబితాలో అనేక ఆపరేషన్‌లు చేయవచ్చు.

ప్రింటర్ ఆఫ్‌లైన్ విండోస్ 10 ని ఎలా పరిష్కరించాలి

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



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

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





ఉదాహరణకు, మీరు కావచ్చు బ్యూటిఫుల్ సూప్‌తో వెబ్‌సైట్‌ను స్క్రాప్ చేయడం . మీరు వెబ్‌సైట్ నుండి అన్ని వస్తువుల పేరు మరియు వాటి ధరలను పొందాలనుకుంటున్నట్లు అనుకోండి.

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





దిగువ ఉదాహరణను చూడండి:

Products = [i.text for i in bs.find_all('name tags')]
Price = [i.text for i in bs.find_all('price tags')]

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

పైథాన్‌లో లిస్ట్ కాంప్రహెన్షన్‌ను ఎలా సృష్టించాలి మరియు ఉపయోగించాలి

ది కోసం లిస్ట్ కాంప్రహెన్షన్‌లో లూప్ ఒక ముఖ్యమైన ఇట్రేటర్. సాధారణంగా, పైథాన్‌లో జాబితా అవగాహన ఈ ఫార్మాట్‌ను తీసుకుంటుంది:

ComprehensionVariable = [expression for items in list]

ప్రింటింగ్ కాంప్రహెన్షన్ వేరియబుల్ పై కోడ్ ఫలితాన్ని జాబితాగా అందిస్తుంది.

అయితే, లిస్ట్ కాంప్రహెన్షన్‌ను ఓపెన్‌తో గందరగోళపరచకుండా జాగ్రత్త వహించండి కోసం లూప్.

ఉదాహరణకు, లెట్ లూప్ కోసం ఓపెన్ ఉపయోగించండి 1 మరియు 30 మధ్య మూడు గుణకాల జాబితాను పొందడానికి:

myList = []
for i in range(1, 11):
myList.append(i * 3)
print(myList)
Output: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

రెండింటిని సరిపోల్చడానికి, జాబితా గ్రహణాన్ని ఉపయోగించి అదే పని చేద్దాం:

multiplesOf3 = [i*3 for i in range(1, 11)]
print(multiplesOf3)
Output = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

మీరు షరతులతో కూడిన స్టేట్‌మెంట్‌లతో జాబితా గ్రహణశక్తిని కూడా ఉపయోగించవచ్చు. దిగువ ఉదాహరణ కోడ్ 1 మరియు 10 మధ్య అన్ని బేసి సంఖ్యలను ప్రింట్ చేస్తుంది:

oddNumbers = [i for i in range(1, 11) if not i%2==2]
print(oddNumbers)
Output = [1, 3, 5, 7, 9]

ఇప్పుడు, ఓపెన్ ఉపయోగించి పై కోడ్‌ని కూడా తిరిగి వ్రాద్దాం కోసం లూప్:

myList = []
for i in range(1, 11):
if not i%2 == 0:
myList.append(i)
print(myList)
Output: [1, 3, 5, 7, 9]

సంబంధిత: పైథాన్‌లో జాబితాను ఎలా జోడించాలి

స్టేట్‌మెంట్‌లు ఉంటే జాబితా గ్రహణశక్తి కూడా సమూహాన్ని అంగీకరిస్తుంది:

oddNumbers = [i for i in range(1, 11) if not i%2==0 if i<4]
print(oddNumbers)
Output: [1, 3]

దీనికి గూడు కూడా పడుతుంది కోసం లూప్:

someNums = [[i*2 for i in range(1, 3)] for _ in range(4)]
print(someNums)

మీరు సాదా గూడును కూడా కలిగి ఉండవచ్చు కోసం జాబితా అవగాహనలో లూప్:

someNums = [i*2 for i in range(1, 3) for k in range(4)]

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

word = ['This is a python list comprehension tutorial']
wordCounter = [i.count(' ') + 1 for i in word]
print(wordCounter)
Output: 7

లిస్ట్ కాంప్రహెన్షన్ ఒక నిర్దిష్ట ఆపరేషన్ చేసే ఫంక్షన్‌ను కూడా ఆమోదించగలదు. ఇది ఎలా పని చేస్తుందో చూడటానికి జాబితా గ్రహణంలోని సరి సంఖ్యలను పొందే గుణకం ఫంక్షన్‌ను చొప్పించండి:

Numbers = [4, 7, 8, 15, 17, 10]
def multiplier(n):
multiple = n*2
return multiple
multipleEven = [multiplier(i) for i in Numbers if i%2==0]
print(multipleEven)
Output: [8, 16, 20]

గ్రహణశక్తిని ఉపయోగించకుండా మీరు ఇప్పటికీ ఒకే ఫంక్షన్‌లో పైన కోడ్‌ని వ్రాయవచ్చు. కానీ మీరు అనేక పునరావృత్తులు చేయవలసి వచ్చినప్పుడు మరియు వాటిలో ప్రతి ఒక్కటి వేర్వేరు వేరియబుల్స్‌లో ఉంచాల్సిన అవసరం వచ్చినప్పుడు జాబితా గ్రహణశక్తి ఉపయోగపడుతుంది.

ఉదాహరణకు, మీరు మరొక ఆపరేషన్ చేయవచ్చు ఎన్ మరియు దాని కోసం అంకితమైన వేరియబుల్‌ను కలిగి ఉండండి. బేసి సంఖ్యల నుండి సరి సంఖ్యలను రూపొందించడానికి పై అవగాహనను సవరించుకుందాం:

multipleEvenFromOdds = [multiplier(i) for i in Numbers if not i%2==0]
print(multipleEvenFromOdds)
Output: [14, 30, 34]

డిక్షనరీ మరియు సెట్ కాంప్రహెన్షన్స్

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

ఇది ఎలా పని చేస్తుందో చూడటానికి దిగువ ఉదాహరణ నిఘంటువు గ్రహణశక్తిని చూడండి:

corresponding = {i: i*2 for i in range(10) if not i%2==0}
print(corr)
Output: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}

పైన ఉన్న కోడ్ 1 మరియు 9 మధ్య ఉన్న సంఖ్యల జాబితా ద్వారా మళ్ళిస్తుంది మరియు వాటిని కీలుగా చేస్తుంది. ఇది ప్రతి కీని రెండుతో గుణించాలని పైథాన్‌కి చెబుతుంది. చివరగా, అది ఫలిత శ్రేణిలోని ప్రతి కీకి సంబంధిత విలువలుగా ఆ ఆపరేషన్ ఫలితాలను అందిస్తుంది.

సంబంధిత: పైథాన్‌లో శ్రేణులు మరియు జాబితాలు ఎలా పని చేస్తాయి

సెట్ కాంప్రహెన్షన్ అనేది జాబితా కాంప్రహెన్షన్‌తో పోలి ఉంటుంది. సమితి అవగాహన యొక్క ఉదాహరణ ఇక్కడ ఉంది:

హార్డ్‌డ్రైవ్‌కు డివిడిలను ఎలా కాపీ చేయాలి
numbers = {i**(2) for i in range(10) if i%4==0}
print(numbers)
Output: {0, 16, 64}

అయితే, జాబితా అవగాహన కాకుండా, సెట్ కాంప్రహెన్షన్ నకిలీలను తొలగిస్తుంది:

nums = {i for i in range(20) if i%2==1 for k in range(10) if k%2==1}
print(nums)
Output: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

అవి ఎలా విభిన్నంగా ఉన్నాయో చూడటానికి మీరు జాబితా కోడ్‌ని ఉపయోగించి పై కోడ్‌ని ప్రయత్నించవచ్చు.

మీరు ప్రతిసారీ జాబితా గ్రహణశక్తిని ఉపయోగించగలరా?

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

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

షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ పైథాన్ లిస్ట్ కాంప్రహెన్షన్‌లను ఎలా ఉపయోగించాలి (మరియు వాటిని ఎప్పుడు ఉపయోగించకూడదు)

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

తదుపరి చదవండి
సంబంధిత అంశాలు
  • ప్రోగ్రామింగ్
  • పైథాన్
రచయిత గురుంచి ఇదిసౌ ఒమిసోలా(94 కథనాలు ప్రచురించబడ్డాయి)

ఇడోవు ఏదైనా స్మార్ట్ టెక్ మరియు ఉత్పాదకతపై మక్కువ చూపుతుంది. తన ఖాళీ సమయంలో, అతను కోడింగ్‌తో ఆడుతాడు మరియు అతను విసుగు చెందినప్పుడు చెస్‌బోర్డ్‌కి మారుతాడు, కానీ అతను ఒక్కోసారి రొటీన్ నుండి దూరంగా ఉండడాన్ని కూడా ఇష్టపడతాడు. ఆధునిక సాంకేతిక పరిజ్ఞానాన్ని ప్రజలకు చూపించాలనే అతని అభిరుచి అతన్ని మరింత రాయడానికి ప్రేరేపిస్తుంది.

ఇడోవు ఒమిసోలా నుండి మరిన్ని

మా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి

టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్‌లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!

సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి