0. De ce avem nevoie de structuri de date?
Din Lectia 1 stim ca o variabila tine un singur obiect. Dar ce facem cu 100 de jocuri?
Cele 4 structuri - vedere de ansamblu:
| Structura | Tip Python | Sintaxa | Ordonat? | Modificabil? | Duplicate? |
|---|---|---|---|---|---|
| Lista | list | [1, 2, 3] | Da | Da | Da |
| Tuple | tuple | (1, 2, 3) | Da | Nu | Da |
| Dictionar | dict | {"a": 1} | Da | Da | Chei unice |
| Multime | set | {1, 2, 3} | Nu | Da | Nu |
Exploreaza fiecare structura - apasa pe tab:
fructe = ["mere", "pere", "cirese"]Ordonat, modificabil, permite duplicate. Ideal pentru colectii dinamice.
podium = ("Ana", "Mihai", "Elena")Ordonat, INGHETAT, permite duplicate. Ideal pentru date care nu se schimba.
elev = {"nume": "Maria", "medie": 9.5}Accesezi prin cheie, nu prin pozitie. Ideal pentru date structurate.
sporturi = {"fotbal", "tenis", "baschet"}Fara duplicate, neordonat. Ideal pentru eliminarea duplicatelor.
1. Lista (list)
Creare si indexare
Primul element e la lista[0], al doilea la lista[1] etc.
Metode esentiale
Iterare cu for
2. List Comprehension - Magia intr-o linie
O modalitate eleganta de a crea o lista noua dintr-una existenta, intr-o singura linie. Mai scurt, mai rapid, mai Pythonic!
Constructor interactiv - apasa pe fiecare parte:
Cu conditie (filtru):
3. Tuple (tuple)
Locul 1, 2, 3 sunt fixate pentru totdeauna. Nu poti muta medalia de aur! Tuple = lista INGHETATA.
Unpacking - despachetarea eleganta
Datele nu se schimba
Ex: coordonate GPS, data nastere, culori RGB
Datele se modifica
Ex: cos cumparaturi, scor joc, participanti
4. Dictionar (dict)
Cauti dupa NUME (cheie) si gasesti NUMARUL (valoare) direct!
5. Multime (set)
Fiecare sticker apare o singura data, indiferent de cate ori il primesti!
Operatii matematice cu seturi:
6. Exercitii Practice
Lista echipei + comprehension
sort() pentru sortare, n.upper() pentru majusculeComprehension cu filtru
[n**3 for n in numere if n % 2 != 0]b)
[c.upper() for c in cuvinte if len(c) > 5]
Set - deduplicare
set(note) si len(note_unice)7. Mini-Quiz
Apasa pe raspunsul corect:
8. Teme pentru Acasa
Rezolva temele in IDLE sau Thonny. Salveaza fisierele cu numele indicate si adauga-le in Google Classroom pana vineri.
Playlist-ul meu
UsorCreeaza o lista cu minim 6 melodii preferate. Sorteaz-o, afis-o, adauga una noua si sterge prima melodie.
Salveaza ca: tema1_numetau.py
Agenda clasei
MediuCreeaza un dictionar cu 5 colegi si mediile lor. Afiseaza toate perechile si gaseste cine are cea mai mare medie.
Salveaza ca: tema2_numetau.py
Analizatorul de text
ProvocareCiteste o propozitie, desparte-o in cuvinte, afiseaza cuvintele unice (set), numara-le si sorteaza-le.
Foloseste list comprehension ca sa obtii doar cuvintele cu mai mult de 3 litere.
Salveaza ca: tema3_numetau.py
list - ordonat, modificabil, duplicate ok [1,2,3]
tuple - ordonat, INGHETAT, duplicate ok (1,2,3)
dict - perechi cheie:valoare {"k":v}
set - neordonat, fara duplicate {1,2,3}
List comprehension: [expr for x in lst if cond]