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.
Listat Relacionet