python

N-shet (angl. Tuples)

N-shet dhe krijimi i tyre

N-shet janë të ngjashme me listat për natyrën e tyre si mbajtëse të të dhënave të llojeve të ndryshme. Ndryshe nga listat, n-shet janë sekuenca të pandryshueshme dhe vendosen mes kllapave të rrumbullakta ().

>>> n = ('abc', 123, ['liste', 'me', 'elemente'])

Në rastet kur duam që n-shet të kenë një element të vetëm, sintaksa e pythonit na detyron të vendosim një presje në fund.

>>> ('abc',)

Indeksimi dhe ndarja në pjesë (slicing)

N-shet mund të indeksohen dhe të ndahen në pjesë, njësoj siç vepruam edhe me sekuencat e tjera.

>>> n = ('abc', 123, ['liste', 'me', 'elemente'])
>>> n[1]
123
>>> n[0:1]
('abc',)
>>> n[-1]
['liste', 'me', 'elemente']

Veprimet me n-shet

Bashkimi me operatorin +

N-shet mund të bashkohen mes tyre përmes operatorit të bashkimit +.

>>> n1 = ('element',)
>>> n2 = (123, 'abc', ['liste'])
>>> n1 + n2
('element', 123, 'abc', ['liste'])

Nuk mund të bashkohet një n-she me një varg apo një listë, por vetëm sekuenca të një lloji. Nëse duam të bashkojmë një n-she me një varg ose listë duhet të perdorim funksionin e gatshëm të pythonit tuple() për të kthyer vargun ose listën në n-she.

>>> tuple('python')  # kthimi i vargut ne n-she
('p','y','t','h','o','n')
>>> tuple(['gjuha', 'python'])  # kthimi i listes ne n-she
('gjuha', python')

Përsëritja me operatorin *

Operatori i përsëritjes *, përdoret edhe tek n-shet njësoj si tek dy sekuencat që kemi përmendur më herët.

>>> n = ('python',)
>>> n * 2
('python', 'python')

Përfaqësimi me operatorin in dhe not in

Operatori in i cili kërkonte për përfaqësimin e një elementi tek listat dhe të një karakteri tek vargjet e karaktereve, përdoret edhe të n-shet për kerkimin e një elementi.

>>> n = ('element', 2011, ['liste'])
>>> 2011 in n
True
>>> 'python' in n
False

Operatori not in mohon kërkimin e një elementi në sekuencë. Nëse mohimi është i vërtetë atëherë pergjigja është e vërtetë, ne të kundërt pergjigja është e gabuar.

Pyetja që shtron operatori not in është "Nuk ndodhet në n-she elementi x?" Nëse nuk ndodhet, atëherë pyetjes i pergjigjemi pozitivisht: Po, elementi nuk ndodhet në n-she. Nëse elementi ndodhet në n-she. Pyetjes i pergjigjemi negativisht: Jo, elementi ndodhet në n-she.

>>> n = ('element', 2011, ['liste'])
>>> 'python' not in n
True
>>> ['liste'] not in n
False

Funksionet dhe metodat e n-sheve

Më lart u përmend funksioni tuple(). Tani po japim shembuj me funksionet max(), min() dhe len() të cilat i kemi parë edhe tek sekuencat e tjera.

>>> n = ('element', 2011, ['liste'])
>>> max(n)
'element'
>>> min(n)
2011
>>> len(n)
3

N-shet nuk kanë metoda. Ato janë sekuenca të pandryshueshme dhe duke qene të tilla nuk mund të perdoren metodat që deri tani i kemi parë të bëjnë ndryshime të sekuencave.

N-shet janë mbajtëse të dhënash të llojeve të ndryshme. Ato janë sekuenca të pandryshueshme. Fakti që janë sekuenca të pandryshueshme nuk i bën të padobishme pasi perdorimet e tyre janë të ndryshme. Nëse na nevojiten raste kur duam që të dhënat të mos ndryshohen n-shet na vijne në ndihmë. Shpesh herë kemi të bëjmë me të dhëna të tilla të cilat nuk do të ndryshohen, dhe në këto raste n-shet janë lloji më i përshtatshëm dhe praktik për tu përdorur.