Ce este o listă Python?
O listă este exact cum sună, un container care conține diferite obiecte Python, care ar putea fi numere întregi, cuvinte, valori etc. Este echivalentul unui tablou din alte limbaje de programare. Este reprezentat de paranteze pătrate (și acesta este unul dintre atributele care îl diferențiază de tupluri, care sunt separate prin paranteze). De asemenea, este modificabil, adică poate fi modificat sau actualizat; spre deosebire de tupluri, care sunt imuabile.
În acest tutorial Python, veți învăța:
- Ce este o listă Python?
- Exemple de liste Python:
- Accesarea valorilor din liste
- Felierea listelor
- Actualizarea listelor
- Ștergerea elementelor listei
- Adăugarea elementelor listei
- Listează funcțiile încorporate (metode)
- Buclarea prin liste
- Înțelegeri de listă
Exemple de liste Python:
Listele Python pot fi omogene, ceea ce înseamnă că pot conține același tip de obiecte; sau eterogene, incluzând diferite tipuri de obiecte.
Exemple de liste omogene includ:
list of integers = [1, 2, 3, 8, 33]list of animals = ['dog', 'cat', 'goat']list of names = ['John', 'Travis', 'Sheila']list of floating numbers = [2.2, 4.5, 9.8, 10.4]
Exemple de liste eterogene includ:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
Accesarea valorilor din liste
Pentru a accesa valorile din liste, se poate utiliza indexul obiectelor din liste. Un index din listele Python se referă la poziția unui element într-o listă ordonată. De exemplu:
list = [3, 22, 30, 5.3, 20]
- Prima valoare din lista de mai sus, 3, are un indice 0
- A doua valoare, 22, are un indice de 1
- A treia valoare, 30, are un indice 2
și așa mai departe. Pentru a accesa fiecare dintre valorile din listă, veți utiliza:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
Ultimul membru al unei liste poate fi accesat și folosind indexul -1. De exemplu,
list[-1] = 20
Felierea listelor
Felierea listei este metoda de împărțire a unui subset de listă, iar indicii obiectelor listei sunt de asemenea utilizați pentru aceasta. De exemplu, folosind același exemplu de listă de mai sus;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Listele Python sunt excluse la limita superioară și acest lucru înseamnă că ultimul index în timpul tranșării listei este de obicei ignorat. Acesta este motivul pentru care
list[2:-1] = [30, 5.3], și nu [30, 5.3, 20]. Același lucru este valabil pentru toate celelalte exemple de feliere a listei date mai sus.
Actualizarea listelor
Să presupunem că aveți o listă = [fizică, chimie, matematică] și doriți să schimbați lista în [biologie, chimie, matematică], schimbând efectiv membrul la indexul 0. Acest lucru se poate face cu ușurință prin atribuirea acelui index membru nou pe care îl doriți.
Acesta este,
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
Rezultat: [biologie, chimie, matematică]
Aceasta înlocuiește membrul de la indexul 0 (fizică) cu noua valoare dorită (chimie). Acest lucru se poate face pentru orice membru sau subset al listei pe care doriți să o modificați.
Pentru a da un alt exemplu; să presupunem că aveți o listă numită numere întregi și care conține numerele [2, 5, 9, 20, 27]. Pentru a înlocui 5 din lista respectivă cu 10, puteți face acest lucru cu:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
Pentru a înlocui ultimul membru al listei de numere întregi, care este 27, cu un număr gratuit cum ar fi 30,5, ați folosi:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Ștergerea elementelor listei
Există 3 metode Python pentru ștergerea elementelor listei: list.remove (), list.pop () și operatorul del. Metoda de eliminare ia elementul particular care trebuie eliminat ca argument în timp ce pop și del ia indexul elementului care trebuie eliminat ca argument. De exemplu:
list = [3, 5, 7, 8, 9, 20]
Pentru a șterge 3 (primul element) din listă, puteți utiliza:
- list.remove (3) sau
- list.pop [0] sau
- del list [0]
Pentru a șterge 8, elementul din indexul 3, din listă, puteți utiliza:
- list.remove (8) sau
- list.pop [3]
Adăugarea elementelor listei
Pentru a adăuga elemente la o listă, se utilizează metoda de adăugare și aceasta adaugă elementul la sfârșitul listei.
De exemplu:
list_1 = [3, 5, 7, 8, 9, 20]list_1.append(3.33)print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]list_1.append("cats")print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
Listează funcțiile încorporate (metode)
Următoarea este o listă a listei funcțiilor și metodelor încorporate cu descrierile acestora:
- len (listă): aceasta dă lungimea listei ca ieșire. De exemplu:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (listă): returnează elementul din listă cu valoarea maximă. De exemplu:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (listă): returnează elementul din listă cu valoarea minimă. De exemplu:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- list (tuplu): convertește un obiect tuplu într-o listă. De exemplu;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): adaugă elementul la listă. De exemplu;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (index): elimină din listă elementul de la indexul specificat. De exemplu;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (element): șterge elementul din listă. De exemplu;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): inversează obiectele listei. De exemplu;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (element): pentru a obține valoarea indexului unui element din listă. De exemplu;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
- sumă (listă): pentru a obține suma tuturor valorilor din listă, dacă valorile sunt toate numerele (numere întregi sau zecimale). De exemplu;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
Dacă lista conține orice element care nu este un număr, cum ar fi un șir, metoda sumă nu ar funcționa. Veți primi o eroare spunând: " TypeError : tipuri de operand neacceptate pentru +: 'int' și 'str'"
- list.sort (): pentru a aranja o listă de numere întregi, numere în virgulă mobilă sau șiruri, în ordine crescătoare sau descendentă. De exemplu:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]
Alt exemplu:
values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]
O listă de șiruri poate fi, de asemenea, sortată, fie alfabetic, fie după lungimea șirurilor. De exemplu;
# to sort the list by length of the elementsstrings = ['cat', 'mammal', 'goat', 'is']sort_by_alphabet = strings.sort()sort_by_length = strings.sort(key = len)print(sort_by_alphabet)print(sort_by_length)>>> ['cat', 'goat', 'is', 'mammal']['is', 'cat', 'goat', 'mammal']
Putem sorta aceeași listă alfabetic folosind „șiruri”.
Buclarea prin liste
Buclarea prin liste se poate face în același mod ca orice altă funcție de buclare din Python. În acest fel, o metodă poate fi efectuată pe mai multe elemente ale unei liste în același timp. De exemplu:
list = [10, 20, 30, 40, 50, 60, 70].
Pentru a parcurge toate elementele acestei liste și, să zicem, adăugați 10 la fiecare element:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
Pentru a parcurge primele trei elemente ale listei și a le șterge pe toate;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
Pentru a parcurge al 3- lea (index 2) până la ultimul element din listă și a le adăuga la o nouă listă numită listă_nouă:
new_list = []for elem in list[2:]:new_list.append(elem)print(“New List: {}”.format(new_list))Output:New List: [30, 40, 50, 60, 70]
În acest fel, orice metodă sau funcție poate fi aplicată membrilor unei liste pentru a efectua o anumită operație. Puteți fie să parcurgeți toți membrii listei, fie să parcurgeți un subset al listei utilizând felierea listei.
Listă Înțelegeri
Înțelegerile listelor sunt funcții Python care sunt utilizate pentru crearea de secvențe noi (cum ar fi liste, dicționare etc.) folosind secvențe care au fost deja create. Acestea ajută la reducerea buclelor mai lungi și vă fac codul mai ușor de citit și întreținut.
De exemplu; să presupunem că ați dorit să creați o listă care să conțină pătratele tuturor numerelor de la 1 la 9:
list_of squares = []for int in range(1, 10):square = int ** 2list_of_squares.append(square)print(list_of_squares)List_of_squares using for loop:[1, 4, 9, 16, 25, 36, 49, 64, 81]
Pentru a face același lucru cu înțelegerile listei:
list_of_squares_2 = [int**2 for int in range(1, 10)]print('List of squares using list comprehension: {}'.format(list_of_squares_2))Output using list comprehension:[1, 4, 9, 16, 25, 36, 49, 64, 81]
Așa cum s-a văzut mai sus, scrierea codului utilizând înțelegeri de listă este mult mai scurtă decât utilizarea tradițională pentru bucle și, de asemenea, este mai rapidă. Acesta este doar un exemplu de utilizare a înțelegerilor listei în locul buclelor pentru bucle, dar aceasta poate fi reprodusă și utilizată în multe locuri unde buclele pot fi, de asemenea, utilizate. Uneori, alegerea cu o buclă for este cea mai bună opțiune, mai ales dacă codul este complex, dar, în multe cazuri, înțelegerile listei vă vor face codificarea mai ușoară și mai rapidă.
Mai jos este un tabel care conține câteva funcții și metode de listă și descrierile acestora.
Funcții încorporate
FUNCŢIE | DESCRIERE |
Rundă() | Rotunjește numărul trecut ca argument la un număr specificat de cifre și returnează valoarea în virgulă mobilă |
Min () | returnează elementul minim al unei liste date |
Max () | returnează elementul maxim al unei liste date |
len () | Returnează lungimea listei |
Enumera() | Această funcție încorporată generează atât valorile, cât și indicii articolelor într-un iterabil, deci nu trebuie să numărăm manual |
Filtru() | testează dacă fiecare element al unei liste este adevărat sau nu |
Lambda | O expresie care poate apărea în locuri în care un def (pentru crearea funcțiilor) nu este sintactic, în interiorul unei liste literal sau în argumentele de apel ale unei funcții |
Hartă() | returnează o listă a rezultatelor după aplicarea funcției date fiecărui element dintr-un anumit iterabil |
Acumula() | aplicați o anumită funcție transmisă în argumentul său tuturor elementelor listei returnează o listă care conține rezultatele intermediare |
Sumă() | Returnează suma tuturor numerelor din listă |
Cmp () | Aceasta este utilizată pentru compararea a două liste și returnează 1 dacă prima listă este mai mare decât a doua listă. |
Introduce | Introduceți elementul în listă la o anumită poziție |
Lista metodelor
FUNCŢIE | DESCRIERE |
Adăuga() | Adaugă un nou articol la sfârșitul listei |
Clar() | Elimină toate articolele din listă |
Copie() | Returnează o copie a listei originale |
Extinde() | Adăugați multe elemente la sfârșitul listei |
Numara() | Returnează numărul de apariții ale unui anumit element dintr-o listă |
Index() | Returnează indexul unui anumit element al unei liste |
Pop () | Șterge elementul din listă la un anumit index (ștergeți după poziție) |
Elimina() | Șterge elementul specificat din listă (ștergeți după valoare) |
Verso() | Metodă de inversare în loc care inversează ordinea elementelor listei |
rezumat
- O listă este exact cum sună, un container care conține diferite obiecte Python, care ar putea fi numere întregi, cuvinte, valori etc.
- Listele Python pot fi omogene, înseamnă că pot conține același tip de obiecte; sau eterogene, care conțin diferite tipuri de obiecte.
- Pentru a accesa valorile din liste, se poate utiliza indexul obiectelor din liste.
- Felierea listei este metoda de împărțire a unui subset de listă, iar indicii obiectelor listei sunt de asemenea utilizați pentru aceasta.
- Trei metode pentru ștergerea elementelor listei sunt: 1) list.remove (), 2) list.pop () și 3) del operator
- Metoda de adăugare este utilizată pentru a adăuga elemente. Aceasta adaugă elementul la sfârșitul listei.
- Metoda de buclare a programului Python poate fi efectuată pe mai multe elemente ale unei liste de date în același timp.
- Înțelegerile listelor sunt funcții Python care sunt utilizate pentru crearea de secvențe noi (cum ar fi liste, dicționare etc.) folosind secvențe care au fost deja create.