List Comprehension in Python :
List Comprehension in Python in Telugu :
గీత తన క్రియేట్ చేసిన fruits అనే లిస్ట్ నుండి ఒక కొత్త లిస్ట్ ను క్రియేట్ చేయాలనుకుంది. అది కూడా a అనే లెటర్ name లో ఉండే వాల్యూస్ ను మాత్రమే ఆ కొత్త లిస్ట్ లో add (append )చేయాలనుకుంది.
ఇప్పుడు గీత List Comprehension యూజ్ చేయకుండా కండిషన్ లతో ఉన్న for లూప్ స్టేట్మెంట్ ను రాసింది.
అంటే మనము కూడా List Comprehension యూజ్ చేయకుండా కండిషన్ లతో ఉన్న for లూప్ స్టేట్మెంట్ ను యూజ్ చేయాలన్నమాట !
ఉదాహరణ:
fruits అనే లిస్ట్ ఆధారంగా, name లో "a" అక్షరం ఉన్న fruits ను మాత్రమే ఉండే విదంగా ఒక కొత్త List కావాలి.
Example
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []
for x in fruits:
if "a" in x:
newlist.append(x)
print(newlist)
నేనే ప్రయత్నిస్తాను ( Try It Myself ) »ఇప్పుడు List Comprehension యూజ్ చేయకుండా కండిషన్ లతో ఉన్న for లూప్ స్టేట్మెంట్ కోసం వ్రాయవలసి ఉంటుంది :
అయితే List Comprehension తో మీరు ఒకే ఒక లైన్ కోడ్తో అన్నింటినీ చేయవచ్చు
Example
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []
for x in fruits:
if "a" in x:
newlist.append(x)
print(newlist)
నేనే ప్రయత్నిస్తాను ( Try It Myself ) »The Syntax : సింటాక్స్
ఇక్కడ ఉన్న List Comprehension తో ఉన్న సింటాక్స్ ను ఒక్కసారి గమనించండి.
newlist = [expression for item in iterable if condition == True]
రిటర్న్ చేసిన విలువ కొత్త List అవుతుంది. కానీ పాత List అస్సలు మారదు.
Condition :
Condition అనేది ఫిల్టర్ లాంటిదని చెప్పవచ్చు , అది True అని వాల్యుయేట్ చేసే ఐటెమ్లను మాత్రమే allow చేస్తుంది.
Example
కేవలం "Apple" కాని వాల్యూస్ ను మాత్రమే allow చేస్తుంది అంటే accept చేస్తుందని అర్థం :
newlist = [x for x in fruits if x != "apple"]
నేనే ప్రయత్నిస్తాను ( Try It Myself ) »ఇక్కడ Condition ఏమిటంటే if x != "apple" కాకుండా ఇతర అన్ని వాల్యూస్ ను True అని return చేస్తుంది, కొత్త List లో "apple" కాకుండా అన్ని fruits ను కలిగి ఉంటుంది.
ఇక్కడ Condition అనేది ఆప్షనల్ మరియు దీనిని విస్మరించవచ్చు:
Example
if
స్టేట్మెంట్ లేకుండా : అంటే Condition అనేది లేకుండా :
newlist = [x for x in fruits]
నేనే ప్రయత్నిస్తాను ( Try It Myself ) »Iterable in Python : పునరావృతమయ్యే
ఇక్కడ Iterable అంటే : మరల మరల అని మీనింగ్...
పునరావృతమయ్యే లిస్ట్, టుపుల్, సెట్ మొదలైన ఏదైనా పునరావృత item కావచ్చు.
Example
మీరు range() అనే ఫంక్షన్ని ఉపయోగించి Iterable క్రియేట్ చేయవచ్చు :
newlist = [x for x in range(10)]
నేనే ప్రయత్నిస్తాను ( Try It Myself ) »ఇప్పుడు if స్టేట్మెంట్ use చేసి : అంటే Condition రాసి
Example
5 కంటే తక్కువ సంఖ్యలను మాత్రమే accept చేయడం :
newlist = [x for x in range(10) if x < 5]
నేనే ప్రయత్నిస్తాను ( Try It Myself ) »Expression in Python : వ్యక్తీకరణ
Expression అనేది iterator లో ప్రస్తుత ఉన్న ఐటమ్ , అయితే ఇది ఫలితం కూడా, అయితే ఇది కొత్త లిస్ట్ లో List ఐటమ్ లాగా end అయ్యే లోపు మీరు దినిని మార్చకోవచ్చు కూడా :
Example
కొత్త List లోని వాల్యూస్ ను పెద్ద అక్షరానికి అంటే upper case లోకి చేంజ్ చేయడం :
newlist = [x.upper() for x in fruits]
నేనే ప్రయత్నిస్తాను ( Try It Myself ) »fruits అనే లిస్ట్ లో కేవలం fruits మాత్రమే ఉన్నాయి. కానీ కొత్త లిస్ట్ లో మొత్తం 'hello' వచ్చేటట్టుగా చేయడం :
Example
కొత్త List లోని అన్ని వాల్యూస్ ను 'hello' వచ్చేటట్టుగా చేస్తున్నారు :
newlist = ['hello' for x in fruits]
నేనే ప్రయత్నిస్తాను ( Try It Myself ) »Expression అనేది Condition లను కూడా కలిగి ఉంటుంది. అయితే ఇది ఫిల్టర్ లాగా కాకుండా, కేవలం ఫలితాన్ని మార్చడానికి మాత్రమే use అవుతుంది :
newlist = [x if x != "banana" else "orange" for x in fruits]
Example
"mango "కి బదులుగా "orange"ని return చేస్తున్నారు :
newlist = [x if x != "mango" else "orange" for x in fruits]
నేనే ప్రయత్నిస్తాను ( Try It Myself ) »పై ఉదాహరణలోని Expression ఏమి తెలిజేస్తుందంటే :
x != "banana"
banana అనే ఐటమ్ కనుక fruits అనే లిస్ట్ లో ఉన్నట్లయితే అప్పుడు banana ఐటమ్ కు బదులుగా orange అనే ఐటమ్ add అవుతుంది. banana అనే ఐటమ్ కనుక fruits అనే లిస్ట్ లో లేకపోతే అప్పుడు fruits అనే లిస్ట్ కాస్త కొత్త లిస్ట్ గా add అవుతుంది. అంటే fruits లిస్ట్ లో ఏవైతే ఐటమ్స్ ఉన్నాయో అవే కొత్త List లో add అవుతాయి.
సింపుల్ గా చెప్పాలంటే "banana" కాకపోతే item ను రిటర్న్ చేయడం, అది banana అయితే orange ను రిటర్న్ చేయడం".