28.01.2015 Views

Tutorial Python - Starship

Tutorial Python - Starship

Tutorial Python - Starship

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

t = 12345, 54321, ’hello!’<br />

>>> t[0]<br />

12345<br />

>>> t<br />

(12345, 54321, ’hello!’)<br />

>>> # enumerarile pot fi imbricate, combinate<br />

... u = t, (1, 2, 3, 4 ,5)<br />

>>> u<br />

((12345, 54321, ’hello!’), (1, 2, 3, 4 ,5))<br />

După cum puteţi vedea perechile(enumerările) sunt afişate între paranteze astfel încât enumerările sau perechile<br />

îmbricate să fie interpretate corect. Perechile pot fi introduse cu sau fără paranteze, însă, adesea, parantezele sunt<br />

necesare.<br />

Perechile au multe utilizări. De exemplu : perechi de coordonate (x,y), înregistrările angajaţilor dintr-o bază de<br />

date, etc. Puteţi face o analogie (atâta timp cât rămâne numai o analogie menită să vă ajute la înţelegerea acestui tip<br />

de date) între tipurile de date compuse ce pot fi definite cu struct din C++, şi perechile din <strong>Python</strong>. Perechile,<br />

la fel ca şirurile nu pot fi modificate: nu pot fi atribuite valori unui anumit element al unei perechi (puteţi însă să<br />

simulaţi o modificare folosind alte metode). Este posibil să creaţi perechi care conţin obiecte modificabile, cum<br />

sunt listele de exemplu.<br />

O problemă deosebită o constituie crearea perechilor cu zero sau un element. Există însă câteva ”trucuri” de<br />

sintaxă care pot fi folosite pentru a rezolva această problemă. Perechile vide pot fi construite folosind o pereche<br />

de paranteze fără nimic între ele. O pereche cu un singur element poate fi construită specificând valoarea care va<br />

fi conţinută în pereche urmată de o virgulă. Cam neplăcut, dar funcţionează:<br />

>>> empty = ()<br />

>>> singleton = ’hello’, # >> len(empty)<br />

0<br />

>>> len(singleton)<br />

1<br />

(’hello’,)<br />

Instrucţiunea t = 12345, 54321, ’Salut !’ este un exemplu de împachetare. Valorile 12345, 54321 şi<br />

’Salut !’ sunt “împachetate” împreună. Operaţia inversă este de asemenea posibilă:<br />

>>> x, y, z = t<br />

Această operaţie este numită suficient de elocvent ”despachtarea unei secvenţe”. Despachetarea unei secvenţe<br />

necesită ca lista de variabile de la stânga atribuirii să conţină tot atâtea variabile cât secvenţa împachetată de la<br />

dreapta. De observat este faptul că îmbricarea nu este decât o combinaţie succesivă de împachetări sau despachetări!<br />

Ingenios, nu!<br />

Există o asimetrie aici: în timp ce o împachetare va genera întotdeauna o pereche, despachtarea funcţionează<br />

pentru orice fel de secvenţă.<br />

5.4 Seturi<br />

Limbajul <strong>Python</strong> are şi un tip de date pentru seturi. Un set este o colecţie neordonată de elemente unice (făra<br />

duplicate). Esenţa ei constă în testarea membrilor şi eliminarea duplicatelor. Obiectele de tip set suportă, de<br />

asemenea, operaţii matematice ca : uniunea, intersecţia, diferenţa şi diferenţa simetrică.<br />

Iată o scurtă demonstraţie :<br />

32 Capitolul 5. Structuri de date

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!