Tuples in Python
Un tuple in Python este o multime finit si ordonata de elemente. Aceasta se aseamana cu o lista, dar spre deosebire de o lista, ea nu mai poate fi schimbata dupe ce a fost creata. Tuples la fel ca listele pot sa contina elemente de tipuri diferite.
Cum facem un tuple?
tup=()
print(tup)
tup = ('Invat', 'Inteligent')
print(tup)
li = [1, 2, 4, 5, 6]
print(tuple(li)) #Chiar daca li este o lista pentru ca inainte de a o afisa am scris tuple in consola o sa o vedem ca pe un tuple
tup = tuple('AIAS')
print(tup)
In consola o sa vedem:
()
('Invat', 'Inteligent')
(1, 2, 4, 5, 6)
('A', 'I', 'A', 'S')
Haideti sa vedem cum facem tuples care au tipuri de date diferite.
tup = (5, 'Buna', 7, 'Salut')
print(tup)
tup1 = (0, 1, 2, 3)
tup2 = ('invat', 'python')
tup3 = (tup1, tup2)
print(tup3)
tup1 = ('student',) * 3
print(tup1)
tup = ('elev')
n = 5
for i in range(int(n)):
tup = (tup,)
print(tup)
In consola o sa vedem:
(5, 'Buna', 7, 'Salut')
((0, 1, 2, 3), ('invat', 'python'))
('student', 'student', 'student')
('elev',)
(('elev',),)
((('elev',),),)
(((('elev',),),),)
((((('elev',),),),),)
Cum accesam un element din tuple?
Se acceseaza la fel ca la lista. Indexarea elementelor incepe de la 0 si -1 inseamna ultimul element. Exemplu:
tup = tuple("AIAS")
print(tup[0])
tup = ("Invatam", "cu", "AIAS")
a, b, c = tup
print(a)
print(b)
print(c)
In consola o sa vedem:
A
Invatam
cu
AIAS
Cum se concateneaza?
Acestea se pot concatena folosind semnul "+". Exemplu:
tup1 = (0, 1, 2, 3)
tup2 = ('AIAS', 'pentru', 'elevi')
tup3 = tup1 + tup2
print(tup3)
In consola o sa vedem:
(0, 1, 2, 3, 'AIAS', 'pentru', 'elevi')
Cum "taiem" un tuple?
Sintaxa pentru a "taia" un tuple este tuple[start : stop : pas]. Haideti sa vedem un exemplu pentru a intelege mai bine:
tup = tuple('InvatamPython')
# Stergem primul element
print(tup[1:])
# Inversam tuple-ul
print(tup[::-1])
# Afisam elementele dintr-o secventa
print(tup[4:9])
In consola o sa vedem:
('n', 'v', 'a', 't', 'a', 'm', 'P', 'y', 't', 'h', 'o', 'n')
('n', 'o', 'h', 't', 'y', 'P', 'm', 'a', 't', 'a', 'v', 'n', 'I')
('t', 'a', 'm', 'P', 'y')
Cum stergem un tuple?
Nu putem sa stergem un element dintr-un tuple, dar putem sa stergem un tuple complet folosind del. Exemplu:
tup = (0, 1, 2, 3, 4)
del tup
print(tup)
In consola o sa vedem:
ERROR!
Traceback (most recent call last):
File "<main.py>", line 3, in <module>
NameError: name 'tup' is not defined