Liste

Liste! Liste! Liste! *o glumă despre liste coming up soon*

Mai jos avem un tabel cu date de pe portalul de filme fandango.com

Pentru a putea opera cu datele din acest tabel, trebuie să le stocam în variabile.

movie_row0 = 'Avengers: Age of Ultron'
year_row0 = 2015
rating_value_row0 = 4.5
votes_row0 = 14846 

Dacă am crea câte o variabilă pentru fiecare valoare din acest tabel, am avea 20 de variabile. Prea multe!

În schimb putem să creăm o lista de valori.

row0 = ['Avengers: Age of Ultron', 2015, 4.5, 14846]

# sau

movies = ['Avengers: Age of Ultron', 'Cinderella', 'Ant-Man', 
          'Do You Believe?', 'Hot Tub Time Machine 2']

Observați că itemii sunt scriși între paranteze pătrate. O listă poate fi și goală

lista_goala = []

Intro

  • Listele sunt structuri de date în care putem să stocăm mai multe valori.

  • Listele au o ordine, pot fi editate și permit duplicate.

  • O listă poate conține toate tipurile de valori.

lista_mea = [ False, 56.4, 4, 'Ford', 1j]
print(type(lista_mea))
len(lista_mea) # funcția care ne permite să vedem lungimea listei

Puteți accesa un item al listei după index-ul său. Un index e ca o adresă care identifică locul itemului în listă. Index-ul se scrie direct după numele listei, în paranteze pătrate, cam așa: nume_lista[index]. Puteți să accesați primul element al unei liste în felul următor: nume_lista[0]. Al doilea item îl accesați așa: nume_lista[1]. Programatorii iubesc să numere de la zero.

Accesăm mai multe variabile

Dar dacă dorim să accesăm mai multe variabile în același timp?

# Va printa elementele din listă cu indexul 2, 3 și 4.
print(lista_mea[2:5])
# 4, 'Ford', 1j
# Va printa elementele din listă de la început până la cel cu indexul 3 inclusiv.
print(lista_mea[:4])
# False, 56.4, 4, 'Ford'
# Va printa elementele de la cel cu indexul 3 până la sfârșit.
print(lista_mea[3:])
# 'Ford', 1j

Cum verificăm dacă un element există în lista noastră?

if 4 in lista_mea:
    print('Da, aceste element există în listă')
else:
    print('Nu, acest element nu există în listă')

Înlocuirea elementelor

Cum înlocuim un element din listă?

lista_mea[2]='Joi'
print(lista_mea)

Adăugarea elementelor

Cum adăugăm elemente la lista noastră?

  • .append() - Pentru a adăuga un element la un index nespecificat, în coada de listă

  • .insert() - Pentru a adăuga un element la un index specificat

.append(var)

my_list = []  #lista goala
x = 7
b = 10

my_list.append(x)
my_list.append(b)
my_list.append(9)  

print(my_list)

.insert(index, var) - va adăuga variabilavar pe poziția cu numărul index în lista noastră.

lista_mea.insert(1, "Luni")
print(lista_mea)

Extinderea listei

list1.extend(list2) va concatena (adăuga) elementele din lista 2 - list2în lista 1 - list1.

lista_ta = [True, "Marte"]
lista_mea.extend(lista_ta)
print(lista_mea)

Ștergerea elementelor

  • .remove() - Șterge elementul specificat

  • .pop() și del - Șterge elementul cu ajutorul indexului specificat

.remove(var)

lista_mea.remove("Marte")
print(lista_mea)

.pop(index)

lista_mea.remove(3)
print(lista_mea)

del name_list[index]

del lista_mea[3]
print(lista_mea)

Ștergerea listei

  • .clear() - șterge conținutul listei

  • del - șterge lista în sine

.clear()

lista_ta.clear()
print(lista_ta)

del name_list

del lista_mea
print(lista_mea)

Lungimea listei

Cum aflăm câte elemente se află într-o listă?

lista_mea = [1,2,3,4,5]
print(len(lista_mea))

Sortarea listei

Mai jos aveți o listă, numită culori, care conține 4 itemi. Această listă fi sortată în ordine alfabetică. Asta nu e complicat! Priviți aici:

culori = [ 'negru', 'rosu', 'albastru', 'verde' ]
culori.sort()

# se va afisa ['albastru', 'galben', 'negru', 'rosu', 'verde']

Mai multe aici, si aici.

Listă de liste

# avem stocate valorile din fiecare rând al tabelului
# în câte o listă.

header = ['name', 'gender', 'eye_color', 'race', 
'hair_color', 'height', 'alignement', 'weight']
r1 = ['Black Widow', 'Female', 'green', 'Human', 
'Auburn', 170.0, 'good', 59.0]
r2 = ['Thanos', 'Male', 'red', 'Eternal', 
'No Hair', 201.0, 'bad', 443.0]
r3 = ['Deadpool', 'Male', 'brown', 'Mutant', 
'No Hair', 188.0, 'neutral', 95.0]
r4 = ['Captain Marvel','Female','blue','Human-Kree',
'Blond',180.0,'good',74.0]
r5 = ['Doctor Strange', 'Male', 'grey', 'Human', 
'Black', 188.0, 'good', 81.0]
r6 = ['Iron Man', 'Male', 'blue', 'Human',
 'Black', 198.0, 'good', 191.0]
r7 = ['Thor', 'Male', 'blue', 'Asgardian', 
'Blond', 198.0, 'good', 288.0]
r8 = ['Venom','Male','blue','Symbiote',
'Strawberry Blond',191.0,'bad',117.0]

# în baza de date originală sunt 215 eroi
# asta ar însemna 215 rânduri respectiv 215 variabile

# mai jos avem o singură variabilă pentru toate rândurile
marvel = [header, r1, r2, r3, r4, r5, r6, r7, r8]

# haideți să investigăm cum arată lista marvel
marvel

Selectarea elementelor

# accesăm un element din lista de liste exact așa 
# cum accesăm într-o listă obișnuită un element

print(marvel[2])
print(marvel[2:4])

# ce observați? ce s-a afișat?

Dar cum accesăm un element din lista unei liste?

Mai jos avem o listă de liste reprezentată ca o matrice. Observați că unui element din lista de liste îi corespund indecșii conform cu poziția sa în matrice.

Respectiv primului element dintr-o listă din listă s-ar poziționa în rândul 0 și coloana 0.

În exemplul 2 avem un element din rândul 1, coloana 2.

# mai întâi haideți să accesăm denumirile 
# coloanelor lui marvel
marvel[0]           
# primul rând l-am rezervat pentru numele coloanelor 
# numele primului erou
print(marvel[1][0])

Eat. Sleep. C<>ding. Repeat.

Last updated