ఈ వ్యాసం పైథాన్ యొక్క ప్రామాణిక మాడ్యూల్ లైబ్రరీలో అందుబాటులో ఉన్న గణన ఫంక్షన్ యొక్క ఉపయోగాన్ని వివరిస్తుంది. ఎన్యూమరేట్ ఫంక్షన్ మిమ్మల్ని ఏదైనా సూచించే వస్తువులోని మూలకాలకు సూచిక లేదా కౌంట్ కేటాయించడానికి అనుమతిస్తుంది. మీరు వాటిపై మరింత తర్కాన్ని అమలు చేయవచ్చు, ఎందుకంటే మీకు రెండు విలువలకు ప్రాప్యత ఉంటుంది మరియు దానికి మ్యాప్ చేయబడిన గణన ఉంటుంది.
వాక్యనిర్మాణం మరియు ప్రాథమిక ఉదాహరణ
మీరు ఇతర ప్రోగ్రామింగ్ భాషలలో, ముఖ్యంగా సి భాష మరియు సి స్టైల్ సింటాక్స్ ఉన్న ఇతర భాషలలో ఒక లూప్ ఉపయోగించినట్లయితే, మీరు లూప్లో ప్రారంభ సూచికను పేర్కొనవచ్చు. సూచన కోసం, సి మరియు ఇతర భాషలలో సారూప్య వాక్యనిర్మాణం కలిగిన లూప్ ఎలా ఉంటుందో ఇక్కడ ఉంది:
కోసం (inti= 0;i< 10;i++)
{
printf ('%డి n',i);
}
లూప్ స్టేట్మెంట్ సున్నా విలువను కలిగి ఉన్న వేరియబుల్ను ప్రారంభిస్తుంది, అది ఒక థ్రెషోల్డ్ కంటే తక్కువగా ఉందో లేదో తనిఖీ చేస్తుంది మరియు లూప్ బ్లాక్ లోపల లాజిక్ను విశ్లేషించిన తర్వాత ఒక కౌంట్ ద్వారా పెంచుతుంది (స్టాప్ షరతు నెరవేరితే). ఈ విధంగా మీరు ఒక సూచికను ఉపయోగించవచ్చు మరియు మీ లూప్ బ్లాక్లో సూచించబడిన ఏవైనా వస్తువులకు కేటాయించవచ్చు. పోల్చి చూస్తే, పైథాన్లో అదే ఫలితంతో ఒక లూప్ కనిపిస్తుంది:
కోసంiలో పరిధి(0, 10):
ముద్రణ (i)
పైథాన్లోని రేంజ్ ఫంక్షన్ డిఫాల్ట్ స్టెప్ 1 ఉన్న నంబర్ రేంజ్ సీక్వెన్స్ని పేర్కొనడానికి మిమ్మల్ని అనుమతిస్తుంది. మీరు మూడవ ఆర్గ్యుమెంట్ను అందించడం ద్వారా స్టెప్ వాల్యూను మార్చవచ్చు. రేంజ్ ఫంక్షన్లోని రెండవ ఆర్గ్యుమెంట్ స్టాప్ కండిషన్ కోసం థ్రెషోల్డ్ సెట్ చేయడానికి ఉపయోగించబడుతుంది. రెండు కోడ్ నమూనాలు కింది అవుట్పుట్ను ఉత్పత్తి చేస్తాయి:
0
1
2
3
4
5
6
7
8
9
మీరు కొన్ని నంబర్ సీక్వెన్స్ జనరేట్ చేయాలనుకుంటే మరియు లూప్ స్టేట్మెంట్ లోపల వాటిని కొన్ని లాజిక్తో అనుబంధించాలనుకుంటే ఈ లూప్లు బాగా పనిచేస్తాయి. ఏదేమైనా, మీరు మరొక గూడు లూప్ను ఉపయోగించాల్సి ఉంటుంది లేదా ఏదైనా ట్రాక్ చేయదగిన గణనను కేటాయించడానికి ఏదైనా పునరుత్పాదక రకంలో దిగుబడి ఫంక్షన్ను ఉపయోగించాల్సి ఉంటుంది. గణన పద్ధతి ఒక స్టేట్మెంట్లో ఐటరబుల్లకు సూచికలను కేటాయించడం సులభం చేస్తుంది, తద్వారా బహుళ సమూహ లూప్లను అమలు చేయవలసిన అవసరాన్ని తొలగిస్తుంది. ఈ కోడ్ నమూనాను చూడండి:
సంఖ్యలు= ['సున్నా', 'ఒకటి', 'రెండు', 'మూడు', 'నాలుగు', 'ఐదు']
లెక్కించిన_సంఖ్యలు= జాబితా చేయబడింది(సంఖ్యలు)
కోసంసూచిక,అంశంలోలెక్కించిన_సంఖ్యలు:
ముద్రణ (సూచిక,అంశం)
మొదటి స్టేట్మెంట్ నంబర్స్ అనే కొత్త వేరియబుల్ను నిర్వచిస్తుంది మరియు దానికి ఇటరబుల్ (జాబితా రకం) ని కేటాయిస్తుంది. రెండవ స్టేట్మెంట్ ఎన్యూమరేట్ ఫంక్షన్ యొక్క వినియోగాన్ని చూపుతుంది, అక్కడ మీరు తప్పనిసరిగా ఒక వాదనను అందించవచ్చు. మూడవ స్టేట్మెంట్ ఎన్యూమరేటెడ్_నంబర్స్ వేరియబుల్ను లిస్ట్ టైప్ ఆబ్జెక్ట్గా మారుస్తుంది. డిఫాల్ట్గా, ఎన్యూమరేట్ ఫంక్షన్ ఎన్యూమరేట్ రకం వస్తువును ఉత్పత్తి చేస్తుంది మరియు ఇటరబుల్ రకం కాదు, కాబట్టి మీరు దానిని మార్చాలి. పైన పేర్కొన్న కోడ్ నమూనాను అమలు చేసిన తర్వాత, మీరు ఈ క్రింది అవుట్పుట్ను పొందాలి:
[(0, 'సున్నా'), (1, 'ఒకటి'), (2, 'రెండు'), (3, 'మూడు'), (4, 'నాలుగు'), (5, 'ఐదు')]ఎన్యూమరేట్ ఫంక్షన్ ప్రతి మూలకానికి ఇటరబుల్ టైప్లో ఒక కౌంట్ను కేటాయిస్తుంది మరియు జత చేసిన విలువలను కలిగి ఉన్న టపుల్స్ను సృష్టిస్తుంది. అప్రమేయంగా, లెక్కింపు సున్నా నుండి మొదలవుతుంది.
ఇప్పుడు మీరు ప్రతి మూలకానికి ఇటరబుల్ రకంలో ఒక సంఖ్యను కేటాయించారు, మీరు సమూహ ప్రకటనలను వ్రాయకుండా సులభంగా దానిపై లూప్ చేయవచ్చు:
సంఖ్యలు= ['సున్నా', 'ఒకటి', 'రెండు', 'మూడు', 'నాలుగు', 'ఐదు']లెక్కించిన_సంఖ్యలు= జాబితా చేయబడింది(సంఖ్యలు)
కోసంసూచిక,అంశంలోలెక్కించిన_సంఖ్యలు:
ముద్రణ (సూచిక,అంశం)
పైన పేర్కొన్న కోడ్ నమూనా కింది అవుట్పుట్ను ఉత్పత్తి చేస్తుంది:
0 సున్నా1 ఒకటి
2 రెండు
3 మూడు
4 నాలుగు
5 ఐదు
దిగువ నమూనాలో చూపిన విధంగా, ఎన్యుమరేట్ ఫంక్షన్ ఇన్లైన్ను ఉపయోగించడం ద్వారా మీరు కోడ్ను చిన్నదిగా చేయవచ్చు:
సంఖ్యలు= ['సున్నా', 'ఒకటి', 'రెండు', 'మూడు', 'నాలుగు', 'ఐదు']కోసంసూచిక,అంశంలో జాబితా చేయబడింది(సంఖ్యలు):
ముద్రణ (సూచిక,అంశం)
విభిన్న ప్రారంభ సూచికతో గణనను ఉపయోగించడం
ఎన్యూమరేట్ ఫంక్షన్ ఐచ్ఛిక వాదనను తీసుకుంటుంది, ఇక్కడ మీరు ప్రారంభ సూచికను పేర్కొనవచ్చు. డిఫాల్ట్గా ఇది సున్నా, కానీ ప్రారంభ వాదనను ఉపయోగించి మీరు దాన్ని మార్చవచ్చు:
సంఖ్యలు= ['ఒకటి', 'రెండు', 'మూడు', 'నాలుగు', 'ఐదు']కోసంసూచిక,అంశంలో జాబితా చేయబడింది(సంఖ్యలు,ప్రారంభం=1):
ముద్రణ (సూచిక,అంశం)
రెండవ స్టేట్మెంట్లో, ప్రారంభ బిందువును మార్చడానికి start = 1 ఆర్గ్యుమెంట్ ఉపయోగించబడుతుంది. పైన పేర్కొన్న కోడ్ నమూనాను అమలు చేసిన తర్వాత, మీరు ఈ క్రింది అవుట్పుట్ను పొందాలి:
1 ఒకటి2 రెండు
3 మూడు
4 నాలుగు
5 ఐదు
దశలతో సూచికను కేటాయించడం
ఈ వ్యాసం యొక్క మొదటి విభాగంలో, సి భాషలో లూప్ కోసం వాక్యనిర్మాణం చూపబడుతుంది, ఇక్కడ మీరు ప్రతి తదుపరి గణన లేదా సూచిక మధ్య దశలను నిర్వచించవచ్చు. పైథాన్లోని ఎన్యూమరేట్ ఫంక్షన్లో అలాంటి వాదన అందుబాటులో లేదు కాబట్టి మీరు కౌంట్ల మధ్య ఒక దశను పేర్కొనలేరు. లూప్ బ్లాక్ కోసం లెక్కించిన లోపల దశలను అమలు చేయడానికి మీరు మీ స్వంత లాజిక్ను వ్రాయవచ్చు. అయితే, కనీస కోడ్ రాయడం ద్వారా అనుకూల దశలను అమలు చేయడానికి ఒక మార్గం ఉంది. కింది ఉదాహరణ జిప్ మరియు రేంజ్ ఫంక్షన్లను ఉపయోగించి దశల అమలును చూపుతుంది:
సంఖ్యలు= ['సున్నా', 'రెండు', 'నాలుగు', 'ఆరు']కోసంసూచిక,అంశంలో జిప్(పరిధి(0, 7, 2),సంఖ్యలు):
ముద్రణ (సూచిక,అంశం)
జిప్ ఫంక్షన్ రెండు లేదా అంతకంటే ఎక్కువ ఐటరబుల్స్ నుండి ఒకే ఇండెక్స్ ఉన్న ఎలిమెంట్లను ఎంచుకోవడం ద్వారా జతలను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది. కాబట్టి ఇక్కడ జిప్ ఫంక్షన్ పరిధి (0, 7, 2) ఫంక్షన్ నుండి తిరిగి వచ్చిన ఇటరబుల్ నుండి ఒక మూలకాన్ని మరియు సంఖ్యల జాబితా నుండి మరొక మూలకాన్ని ఎంచుకుని, ఆపై వాటిని రెండింటినీ జతచేస్తుంది. తుది ఫలితం గణన ఫంక్షన్కి ఒకే విధమైన అమలు కానీ పరిధి (0, 7, 2) ఫంక్షన్లో మూడవ ఆర్గ్యుమెంట్గా పేర్కొన్న అనుకూల దశలతో (ఈ సందర్భంలో 2). పైన పేర్కొన్న కోడ్ నమూనాను అమలు చేసిన తర్వాత, మీరు ఈ క్రింది అవుట్పుట్ను పొందాలి:
0 సున్నా2 రెండు
4 నాలుగు
6 ఆరు
ముగింపు
పైథాన్లోని ఎన్యూమరేట్ ఫంక్షన్, ఇట్రేబుల్ ఆబ్జెక్ట్లోని మూలకాలకు సంఖ్యా శ్రేణిని కేటాయించడం ద్వారా సంక్షిప్త కోడ్ రాయడానికి మిమ్మల్ని అనుమతిస్తుంది. మీరు ఇటరబుల్ రకం లోపల వస్తువుల సూచికను ట్రాక్ చేయాలనుకుంటే ఇది నిజంగా ఉపయోగకరంగా ఉంటుంది. మీరు అనుకూల దశలతో ఇటరబుల్ రకాలను లెక్కించాలనుకుంటే, చివరి ఉదాహరణలో వివరించిన జిప్ ఫంక్షన్ను ఉపయోగించండి.