మాడ్యూల్ పాఠాలు (2/4)
టుపుల్స్ మరియు అన్ప్యాకింగ్
ఒక tuple అనేది ఆర్డర్ మరియు మార్పులేని క్రమం: ఒకసారి సృష్టించబడిన తర్వాత, మీరు చేయవచ్చు ఇకపై దాని మూలకాలను మార్చదు. ఇది కుండలీకరణాలతో వ్రాయబడింది (అయినప్పటికీ వాస్తవానికి దానిని నిర్వచించేది కామా).
ఒక టుపుల్ సృష్టిస్తోంది
vuota = ()
una = (42,) # ATTENZIONE: senza virgola, (42) è solo 42 fra parentesi
coords = (10, 20)
mista = ("Ada", 36, True)ఇండెక్స్ ద్వారా యాక్సెస్ మరియు స్లైసింగ్ ఖచ్చితంగా జాబితాల వలె పని చేస్తుంది: coords[0],
coords[-1], mista[:2].
జాబితాకు బదులుగా టుపుల్ని ఎప్పుడు ఉపయోగించాలి
- విలువ ** స్థిర సేకరణ**ని సూచిస్తున్నప్పుడు అది మారకూడదు
(కోఆర్డినేట్లు, తేదీ
(year, month, day), వెర్షన్(1, 2, 3)). - మీరు విలువను నిఘంటువు కీగా లేదా మూలకం వలె ఉపయోగించాల్సి వచ్చినప్పుడు
a
set: మార్పులేని (హాషబుల్) వస్తువులు మాత్రమే ఉపయోగించబడతాయి. - మీరు కోడ్ యొక్క రీడర్కు అది విలువ అని సంకేతం చేయాలనుకున్నప్పుడు "ఘనీభవించిన".
అన్ప్యాకింగ్: మీరు పైథాన్ని ఎలా వ్రాస్తారో మార్చే ఫీచర్
nome, anni = ("Ada", 36)
nome # 'Ada'
anni # 36ఇది కుండలీకరణాలు లేకుండా కూడా పని చేస్తుంది (ఇది కామాని నిర్వచిస్తుంది టుపుల్):
x, y = 10, 20మరియు ఇది ** తాత్కాలిక వేరియబుల్**, స్వచ్ఛమైన పైథాన్ లేకుండా మార్పిడిని అనుమతిస్తుంది ఇడియమ్:
a, b = 1, 2
a, b = b, a
a, b # (2, 1)*తో అన్ప్యాక్ చేస్తోంది (విశ్రాంతి)
మీరు "మొదటిది మరియు మిగిలినవి" లేదా "మొదటిది, చివరిది" సంగ్రహించాలనుకున్నప్పుడు, మధ్య":
primo, *resto = [1, 2, 3, 4, 5]
primo # 1
resto # [2, 3, 4, 5]
primo, *centro, ultimo = [1, 2, 3, 4, 5]
centro # [2, 3, 4]దీనిని నక్షత్రం గుర్తు పెట్టబడిన అసైన్మెంట్ అంటారు: నక్షత్రం ప్రతిదానిని సేకరిస్తుంది జాబితాగా మిగిలిపోయింది.
సింగిల్-ఎలిమెంట్ టుపుల్ ట్రాప్
(42) టుపుల్ కాదు, ఇది కుండలీకరణాల్లోని 42 సంఖ్య. ఒక చేయడానికి
సింగిల్-ఎలిమెంట్ టుపుల్ మీకు కామా అవసరం: (42,). అది లేకుండా, ఏదైనా ఆపరేషన్
గందరగోళంగా విఫలమవుతుంది.
x = (42)
type(x) # <class 'int'>
x = (42,)
type(x) # <class 'tuple'>సింగిల్-ఎలిమెంట్ టుపుల్స్
ఒక మూలకాన్ని మాత్రమే కలిగి ఉన్న టుపుల్ని సృష్టించడానికి, కుండలీకరణాలు మాత్రమే సరిపోవు: మీరు తప్పక ట్రయిలింగ్ కామాను చొప్పించాలి, ఉదాహరణకు t = (42,). కామా లేకుండా, పైథాన్ కుండలీకరణాలను సాధారణ గణిత సమూహంగా పరిగణిస్తుంది, సాధారణ పూర్ణాంకం 42ని సృష్టిస్తుంది.
దీనిని ప్రయత్నించండి
`a = 1` మరియు `b = 2` అందించబడి, వాటి విలువలను ఒకే పంక్తిలో మార్చుకోండి (tuple అన్ప్యాకింగ్) మరియు tuple (a, b)ని మూల్యాంకనం చేయండి.
సూచనను చూపించు
a, b = b, a
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం సమీక్షించండి
`voti = [7, 5, 8, 6, 9]` జాబితా నుండి, మొదటి గ్రేడ్ని `primo`కి, చివరిది `ultimo`కి మరియు మిగిలిన వాటిని `centro`కి సంగ్రహించడానికి అన్ప్యాకింగ్ని ఉపయోగించండి. `(ప్రిమో, సెంట్రో, అల్టిమో)` మూల్యాంకనం చేయండి.
సూచనను చూపించు
primo, *centro, ultimo = voti → primo=7, centro=[5,8,6], ultimo=9.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
అదనపు సవాలు
Given the tuple `point = (4, 5, 6)`, use unpacking to assign the three values to the variables `x`, `y`, `z` respectively. Then, calculate the sum of `x`, `y`, and `z` and store it in `coord_sum`. Finally, evaluate `coord_sum`.
సూచనను చూపించు
ఒకే స్టేట్మెంట్లో మూడు కోఆర్డినేట్లను సంగ్రహించడానికి x, y, z = పాయింట్ని ఉపయోగించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది