Python Tuple Slicing
Tuple Slicing అంటే ఏమిటి?
Tupleలోని ఒక భాగాన్ని లేదా కొన్ని elementsను ఒకేసారి తీసుకోవడాన్ని Tuple Slicing అంటారు.
ఒక tuple నుంచి అవసరమైన elementsను మాత్రమే తీసుకోవడానికి slicing ఉపయోగిస్తాము. Slicing వల్ల అసలు tuple మారదు. అవసరమైన elementsతో ఒక కొత్త tuple వస్తుంది.
Slicing Syntax
tuple_name[start:stop:step]
- start: slicing ప్రారంభమయ్యే index. ఇది చేర్చబడుతుంది.
- stop: slicing ఆగే index. ఇది చేర్చబడదు.
- step: ఎన్ని positions దాటుతూ elements తీసుకోవాలో సూచిస్తుంది.
start ఇవ్వకపోతే tuple ప్రారంభం నుంచి తీసుకుంటుంది. stop ఇవ్వకపోతే tuple చివరి వరకు తీసుకుంటుంది. step ఇవ్వకపోతే దాని విలువ 1గా ఉంటుంది.
Tuple Slicing ఎందుకు ఉపయోగిస్తాము?
- Tupleలోని కొంత భాగాన్ని మాత్రమే తీసుకోవడానికి.
- మొదటి కొన్ని లేదా చివరి కొన్ని elementsను access చేయడానికి.
- ప్రతి రెండవ element వంటి patternను తీసుకోవడానికి.
- Tuple elementsను reverse orderలో పొందడానికి.
Simple Explanation
మన దగ్గర (10, 20, 30, 40, 50) అనే tuple ఉందని అనుకుందాం. numbers[1:4] అని రాస్తే index 1 నుంచి index 4కి ముందు వరకు elements వస్తాయి. అందువల్ల (20, 30, 40) వస్తుంది.
గుర్తుంచుకోవాల్సిన ముఖ్యమైన విషయం: start index చేర్చబడుతుంది, stop index చేర్చబడదు.
numbers[:3] అంటే ప్రారంభం నుంచి index 3కి ముందు వరకు. numbers[2:] అంటే index 2 నుంచి చివరి వరకు. numbers[::2] అంటే ప్రతి రెండవ element. numbers[::-1] అంటే tupleను reverse orderలో పొందడం.
Real-Life Example
ఒక తరగతిలో విద్యార్థుల roll numbers ఒక tupleలో ఉన్నాయని అనుకుందాం. మొత్తం roll numbersలో మొదటి ఐదు roll numbers మాత్రమే కావాలంటే slicing ఉపయోగించవచ్చు. అలాగే ప్రతి రెండవ roll number లేదా చివరి మూడు roll numbers కావాలన్నా slicing ద్వారా సులభంగా తీసుకోవచ్చు.
Code Examples
Different Tuple Slicing Examples
numbers = (10, 20, 30, 40, 50)
print(numbers[1:4])
print(numbers[:3])
print(numbers[2:])
print(numbers[::2])
print(numbers[::-1])
ఈ ఉదాహరణలో ఒకే tupleపై వివిధ slicing విధానాలను చూస్తాము. 1:4 index 1 నుంచి index 4కి ముందు వరకు elementsను తీసుకుంటుంది. :3 ప్రారంభం నుంచి index 3కి ముందు వరకు తీసుకుంటుంది. 2: index 2 నుంచి చివరి వరకు తీసుకుంటుంది. ::2 ప్రతి రెండవ elementను తీసుకుంటుంది. ::-1 tupleను reverse చేస్తుంది.
(20, 30, 40) (10, 20, 30) (30, 40, 50) (10, 30, 50) (50, 40, 30, 20, 10)
Line-by-Line Explanation
ఈ lineలో numbers అనే పేరుతో ఒక tuple సృష్టించబడుతుంది. ఇందులో ఐదు integer elements ఉంటాయి.
index 1 నుంచి index 4కి ముందు వరకు elementsను తీసుకుంటుంది. కాబట్టి 20, 30, 40 అనే elementsతో కొత్త tuple print అవుతుంది.
start index ఇవ్వలేదు కాబట్టి tuple ప్రారంభం నుంచి తీసుకుంటుంది. stop index 3 కాబట్టి index 0, 1, 2 elements మాత్రమే print అవుతాయి.
index 2 నుంచి tuple చివరి వరకు అన్ని elementsను తీసుకుంటుంది. అందువల్ల 30, 40, 50 print అవుతాయి.
start మరియు stop ఇవ్వలేదు కాబట్టి మొత్తం tupleపై slicing జరుగుతుంది. step 2 కాబట్టి ప్రతి రెండవ positionలో ఉన్న element తీసుకోబడుతుంది.
step విలువ -1గా ఉండటం వల్ల tuple చివరి నుంచి మొదటివైపు reverse orderలో చదవబడుతుంది.
Try It
Try this Python code:
fruits = ("apple", "banana", "cherry", "orange", "grape")
print(fruits[1:4])
Practice
Practice:
scores = (45, 60, 75, 80, 95, 100) అనే tupleలోని చివరి మూడు scoresను slicing ఉపయోగించి print చేయండి.
Hint:
చివరి మూడు elements కోసం negative start index ఉపయోగించండి. ఉదాహరణకు tuple_name[-3:].
Practice:
days = ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday") అనే tupleలో మొదటి మూడు daysను slicing ఉపయోగించి print చేయండి.
Hint:
ప్రారంభం నుంచి మూడు elements కోసం [:3] ఉపయోగించండి.
Practice:
values = (2, 4, 6, 8, 10, 12) అనే tupleలో ప్రతి రెండవ elementను slicing ఉపయోగించి print చేయండి.
Hint:
step విలువ 2గా ఉంచి [::2] ఉపయోగించండి.
Common Mistakes
numbers[1:4]లో index 4 element కూడా వస్తుందని అనుకోవడం.
Slicingలో stop index చేర్చబడదు. కాబట్టి index 1, 2, 3 elements మాత్రమే వస్తాయి.
Start మరియు stop రెండింటినీ తప్పుగా ఉంచి కావాల్సిన భాగం కాకుండా వేరే భాగాన్ని తీసుకోవడం.
ముందుగా ప్రతి element indexను గుర్తించండి. తర్వాత start index నుంచి stop indexకి ముందు వరకు slicing రాయండి.
Tuple slicing చేసిన తర్వాత అసలు tuple మారిపోతుందని అనుకోవడం.
Slicing అసలు tupleను మార్చదు. ఇది selected elementsతో ఒక కొత్త tupleను return చేస్తుంది.
Reverse slicing కోసం [::-1] బదులుగా తప్పు step ఉపయోగించడం.
Tupleను reverse చేయడానికి step విలువ -1గా ఉండాలి: tuple_name[::-1].
Interview Questions
Pythonలో Tuple Slicing అంటే ఏమిటి?
Answer: Tupleలోని ఒక భాగాన్ని లేదా కొన్ని elementsను start, stop, step ఉపయోగించి తీసుకోవడాన్ని Tuple Slicing అంటారు.
Tuple slicingలో stop index చేర్చబడుతుందా?
Answer: లేదు. Start index చేర్చబడుతుంది, కానీ stop index చేర్చబడదు.
Tupleలో మొదటి మూడు elementsను ఎలా తీసుకుంటారు?
Answer: tuple_name[:3] ఉపయోగించాలి.
Tupleలో చివరి మూడు elementsను ఎలా తీసుకుంటారు?
Answer: tuple_name[-3:] ఉపయోగించాలి.
Tupleను reverse చేయడానికి ఏ slicing ఉపయోగిస్తారు?
Answer: tuple_name[::-1] ఉపయోగిస్తారు.
Exam Questions
ఈ code output ఏమిటి? data = (1, 2, 3, 4, 5); print(data[1:4])
Answer:
Output: (2, 3, 4)
ఈ code output ఏమిటి? data = (10, 20, 30, 40); print(data[:2])
Answer:
Output: (10, 20)
Tupleలో ప్రతి రెండవ elementను తీసుకోవడానికి ఏ syntax ఉపయోగిస్తారు?
Answer:
మొత్తం tuple కోసం tuple_name[::2] ఉపయోగిస్తారు.
Slicing చేసినప్పుడు అసలు tupleలో మార్పు జరుగుతుందా?
Answer:
లేదు. అసలు tuple మారదు. Slicing ఒక కొత్త tupleను ఇస్తుంది.
Quick Revision
- Syntax: tuple_name[start:stop:step]
- Start index చేర్చబడుతుంది.
- Stop index చేర్చబడదు.
- [:3] అంటే మొదటి మూడు elements.
- [2:] అంటే index 2 నుంచి చివరి వరకు.
- [-3:] అంటే చివరి మూడు elements.
- [::2] అంటే ప్రతి రెండవ element.
- [::-1] అంటే reverse tuple.
- Tuple slicing అసలు tupleను మార్చదు.
