Definirea și crearea unei liste în Python fol
Definirea și crearea unei liste în Python folosind parantezele drepte.
Indici pozitivi și negativi, slicing și modificarea elementelor
Definirea și crearea unei liste în Python folosind parantezele drepte.
Identificarea pozițiilor elementelor și utilizarea indicilor pozitivi și negativi.
Accesarea unui element și a unei secvențe de elemente prin slicing.
Modificarea unui element existent și explicarea efectului asupra listei.
Utilizarea listelor în probleme simple de memorare și prelucrare.
Poți explica, în propriile cuvinte, ideea centrală a lecției?
În lecțiile anterioare am analizat modelul conceptual liniar și am folosit secvențe de valori. În Python putem memora mai multe valori într-o singură structură de date: lista. În această lecție trecem de la modelul conceptual al listei la obiectul concret din Python, de tip list.
O listă este o colecție ordonată de valori. Elementele sunt păstrate într-o anumită ordine și pot fi accesate prin poziția lor. În Python, lista se scrie între paranteze drepte, iar elementele sunt separate prin virgulă.
note = [8, 10, 7, 9]
Lista are patru elemente. Primul element este 8, al doilea este 10, iar ultimul este 9.
În Python, numerotarea indicilor începe de la 0. Pentru lista note, indicii sunt 0, 1, 2, 3. Astfel, note[0] este 8, iar note[3] este 9.
Python permite și indici negativi. note[-1] este ultimul element, note[-2] penultimul element etc. Această formă este utilă atunci când ne interesează elementele de la sfârșitul listei.
Prin slicing putem selecta o secvență. note[1:3] conține elementele de la indicele 1 până înainte de indicele 3, deci [10, 7]. Capătul din dreapta nu este inclus.
Listele pot fi modificate. Dacă note[2] = 10, elementul de la indicele 2 este înlocuit, iar lista devine [8, 10, 10, 9].
L=[8,10,7,9]
—
numere = [12, 7, 4, 9]
valori = []
valori este o listă goală.
print(numere[0])
print(numere[-1])
print(numere[1:3])
numere[2] = 10
print(numere)
Numărul de elemente poate fi obținut cu len(numere). Parcurgerea sistematică va fi tratată în lecția 8.5; aici folosim doar accesul direct la elemente.
Pentru accesarea elementului de pe poziția p, dacă poziția este exprimată prin indice, elementul cerut este L[p].
ALGORITM Accesare
citește/consideră lista L
accesează elementul L[p]
afișează L[p]
SFÂRȘIT ALGORITM
Pentru memorarea a n valori într-o listă, putem construi o listă goală și adăuga succesiv valorile; operația de adăugare este explicată detaliat în lecția 8.4.
Se consideră lista [12, 5, 18, 7, 10]. Afișați primul element, ultimul element, elementele dintre indicii 1 și 3 și apoi înlocuiți 18 cu 20.
Lista este deja memorată. Folosim acces direct pentru primul și ultimul element, slicing pentru secvența cerută și atribuirea pentru modificare.
Pentru accesarea elementului de pe poziția p, dacă poziția este exprimată prin indice, elementul cerut este L[p].
ALGORITM Accesare
citește/consideră lista L
accesează elementul L[p]
afișează L[p]
SFÂRȘIT ALGORITM
Pentru memorarea a n valori într-o listă, putem construi o listă goală și adăuga succesiv valorile; operația de adăugare este explicată detaliat în lecția 8.4.
L = [12, 5, 18, 7, 10]
print(L[0])
print(L[-1])
print(L[1:4])
L[2] = 20
print(L)| Test | Date | Rezultat așteptat |
|---|---|---|
| Caz normal | [12, 5, 18, 7, 10] | 12; 10; [5,18,7]; apoi [12,5,20,7,10] |
| Caz-limită | [5] | L[0] și L[-1] indică același element |
| Caz particular | acces L[5] | IndexError |
Fiecare operație din program corespunde unei cerințe. Rezultatul poate fi controlat pornind de la lista inițială și urmărind efectul fiecărei instrucțiuni. Testele verifică atât comportamentul obișnuit, cât și situațiile relevante.
1. Ce indice are primul element al unei liste?
2. Ce exprimă L[-1]?
3. Pentru L=[5,7,9,11], ce rezultat are L[1:3]?
4. Ce se întâmplă la executarea L[4] dacă lista are doar patru elemente?
5. Scrie instrucțiunea care înlocuiește elementul de indice 2 cu valoarea 100.
1. Care este indicele primului element?
2. Ce exprimă L[-1]?
3. Ce conține L[1:3]?
4. Ce se întâmplă la un indice inexistent?
5. Cum modifici elementul de indice 2?
6. Ce face slicing-ul?
Catalogul unui elev: memorează într-o listă cinci note, afișează prima și ultima notă, o secvență de note aleasă prin slicing și modifică o notă greșită. Documentează indicii utilizați și testează programul cu cel puțin trei seturi de date.
Recitește obiectivele, verifică exercițiile și testează mini-proiectul.