🐍

Python β€” Lectia 2

Structuri de Date

Liste β€’ Tuple β€’ Dictionare β€’ Seturi

Lectia 2  |  10-14 ani  |  Incepator - Intermediar

0. De ce avem nevoie de structuri de date?

Problema variabilelor simple

Din Lectia 1 stim ca o variabila tine un singur obiect. Dar ce facem cu 100 de jocuri?

Cele 4 structuri - vedere de ansamblu:

StructuraTip PythonSintaxaOrdonat?Modificabil?Duplicate?
Listalist[1, 2, 3]DaDaDa
Tupletuple(1, 2, 3)DaNuDa
Dictionardict{"a": 1}DaDaChei unice
Multimeset{1, 2, 3}NuDaNu

Exploreaza fiecare structura - apasa pe tab:

Analogie: Cosul de cumparaturi - poti adauga, scoate si reordona oricand.

fructe = ["mere", "pere", "cirese"]

Ordonat, modificabil, permite duplicate. Ideal pentru colectii dinamice.
Analogie: Podiumul olimpic - locul 1, 2, 3 nu se mai schimba dupa premiere!

podium = ("Ana", "Mihai", "Elena")

Ordonat, INGHETAT, permite duplicate. Ideal pentru date care nu se schimba.
Analogie: Agenda telefonica - cauti dupa NUME si gasesti NUMARUL direct!

elev = {"nume": "Maria", "medie": 9.5}

Accesezi prin cheie, nu prin pozitie. Ideal pentru date structurate.
Analogie: Colectia de stickere unice - fiecare stickerăapare o singura data!

sporturi = {"fotbal", "tenis", "baschet"}

Fara duplicate, neordonat. Ideal pentru eliminarea duplicatelor.

1. Lista (list)

Creare si indexare

Atentie! Indexarea incepe de la 0, nu de la 1!

Primul element e la lista[0], al doilea la lista[1] etc.

Metode esentiale

Iterare cu for

2. List Comprehension - Magia intr-o linie

Ce este?

O modalitate eleganta de a crea o lista noua dintr-una existenta, intr-o singura linie. Mai scurt, mai rapid, mai Pythonic!

Varianta lunga (4 linii)
Comprehension (1 linie!)

Constructor interactiv - apasa pe fiecare parte:

Apasa pe o parte colorata pentru explicatie
[
n * n
for
n
in
range(1, 6)
if
n % 2 == 0
]
Apasa pe una din partile colorate de mai sus!

Cu conditie (filtru):

3. Tuple (tuple)

Analogie - Podiumul olimpic:

Locul 1, 2, 3 sunt fixate pentru totdeauna. Nu poti muta medalia de aur! Tuple = lista INGHETATA.

Unpacking - despachetarea eleganta

Foloseste TUPLE cand...

Datele nu se schimba

Ex: coordonate GPS, data nastere, culori RGB

Foloseste LIST cand...

Datele se modifica

Ex: cos cumparaturi, scor joc, participanti

4. Dictionar (dict)

Analogie - Agenda telefonica

Cauti dupa NUME (cheie) si gasesti NUMARUL (valoare) direct!

5. Multime (set)

Analogie - Colectia de stickere unice

Fiecare sticker apare o singura data, indiferent de cate ori il primesti!

Operatii matematice cu seturi:

6. Exercitii Practice

1

Lista echipei + comprehension

Indiciu:
sort() pentru sortare, n.upper() pentru majuscule
2

Comprehension cu filtru

Raspuns:
a) [n**3 for n in numere if n % 2 != 0]
b) [c.upper() for c in cuvinte if len(c) > 5]
3

Set - deduplicare

Raspuns:
set(note) si len(note_unice)

7. Mini-Quiz

Apasa pe raspunsul corect:

0/5
raspunsuri corecte

8. Teme pentru Acasa

Instructiuni:

Rezolva temele in IDLE sau Thonny. Salveaza fisierele cu numele indicate si adauga-le in Google Classroom pana vineri.

1

Playlist-ul meu

Usor

Creeaza o lista cu minim 6 melodii preferate. Sorteaz-o, afis-o, adauga una noua si sterge prima melodie.

Salveaza ca: tema1_numetau.py

2

Agenda clasei

Mediu

Creeaza un dictionar cu 5 colegi si mediile lor. Afiseaza toate perechile si gaseste cine are cea mai mare medie.

Salveaza ca: tema2_numetau.py

3

Analizatorul de text

Provocare

Citeste o propozitie, desparte-o in cuvinte, afiseaza cuvintele unice (set), numara-le si sorteaza-le.

Bonus:

Foloseste list comprehension ca sa obtii doar cuvintele cu mai mult de 3 litere.

Salveaza ca: tema3_numetau.py

Rezumat - Ce ai invatat azi!

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]