Python Lista de înțelegere, adăugare, sortare, lungime [EXEMPLE]
Ce este a Python Listă?
O listă este exact ceea ce sună, un container care conține diferite Python obiecte, care ar putea fi numere întregi, cuvinte, valori etc. Este echivalentul unui tablou în alte limbaje de programare. Este reprezentat prin paranteze drepte (și acesta este unul dintre atributele care îl diferențiază de tupluri, care sunt separate prin paranteze). De asemenea, este mutabil, adică poate fi modificat sau actualizat; spre deosebire de tupluri, care sunt imuabile.
Exemple de Python liste:
Python listele pot fi omogene, adică 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 folosi indexul obiectelor din liste. Un index în Python liste 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 de 0
- A doua valoare, 22, are un indice de 1
- A treia valoare, 30, are un indice de 2
și așa mai departe. Pentru a accesa fiecare dintre valorile din listă, ați folosi:
list[0] to access 3 list[1] to access 22 list[2] to access 30 list[3] to access 5.3 list[4] to access 20
Ultimul membru al unei liste poate fi accesat și folosind indexul -1. De exemplu,
list[-1] = 20
Python Tăierea listei
Tăierea listei este metoda de împărțire a unui subset al unei liste, iar indicii obiectelor din listă 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).
Python listele sunt exclusive la limita superioară, iar acest lucru înseamnă că ultimul index în timpul tăierii 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 și pentru toate celelalte exemple de tăiere a listei prezentate 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 de la indicele 0. Acest lucru se poate face cu ușurință prin atribuirea acelui indice la membru nou dorit.
Acesta este,
list = [physics, chemistry, mathematics] list[0] = biology print(list)
Rezultate: [biologie, chimie, matematică]
Aceasta înlocuiește membrul de la indicele 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 acea listă cu 10, puteți face asta cu:
integers = [2, 5, 9, 20, 27] integers[1] = 10 print(integers) >>> [2, 10, 9, 20, 27]
Pentru a înlocui ultimul membru al listei de numere întregi, care este 27, cu un număr liber ca 30.5, ați folosi:
integers = [2, 5, 9, 20, 27] integers[-1] = 30.5 print(integers) >>> [2, 5, 9, 20, 30.5]
Ștergerea elementelor listei
Există 3 Python metode de ștergere a elementelor listei: list.remove(), list.pop() și operatorul del. Metoda Remove preia elementul care trebuie eliminat ca argument, în timp ce pop și del iau indexul elementului care urmează să fie eliminat ca argument. De exemplu:
lista = [3, 5, 7, 8, 9, 20]
Pentru a șterge 3 (primul element) din listă, puteți folosi:
- listă.elimină(3) sau
- list.pop[0] sau
- del list[0]
Pentru a șterge 8, elementul de la indexul 3, din listă, puteți folosi:
- list.remove(8), sau
- list.pop[3]
Adăugarea elementelor listei
Pentru a adăuga elemente la o listă, se folosește metoda anexă, iar 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ă de funcții și metode încorporate, cu descrierile lor:
- len(lista): aceasta oferă lungimea listei ca rezultat. De exemplu:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
- max(lista): returnează elementul din listă cu valoarea maximă. De exemplu:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
- min(lista): returnează elementul din listă cu valoarea minimă. De exemplu:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
- lista(tuplu): convertește un obiect tuplu într-o listă. De exemplu;
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
- listă.anexează(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ă elementul de la indexul specificat din listă. De exemplu;
numbers = [2, 5, 7, 9, 15] numbers.pop(2) print(numbers) >>> [2, 5, 9, 15]
- listă.elimină(element): șterge elementul din listă. De exemplu;
values = [2, 5, 7, 9] values.remove(2) print(values) >>> [5, 7, 9]
- lista.revers(): 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 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 sumei nu ar funcționa. Veți primi o eroare care spune: „Eroare de scris: tip(uri) de operand neacceptat(e) pentru +: „int” și „str””
- list.sort(): pentru a aranja o listă de numere întregi, numere cu virgulă mobilă sau șiruri, în ordine crescătoare sau descrescătoare. De exemplu:
values = [1, 7, 9, 3, 5] # To sort the values in ascending order: values.sort() print(values) >>> [1, 3, 5, 7, 9]
Un 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 elements strings = ['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.
Parcurgerea listelor
Buclă prin liste se poate face exact în același mod ca orice altă funcție de buclă din Python. În acest fel, o metodă poate fi efectuată pe mai multe elemente ale unei liste în același timp. De exemplu:
lista = [10, 20, 30, 40, 50, 60, 70].
Pentru a parcurge toate elementele acestei liste și, să spunem, adăugați 10 la fiecare element:
for elem in list: elem = elem + 5 print(elem) >>>>15 25 35 45 55 65 75
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 trece prin bucla 3rd (index 2) la ultimul element din listă și adăugați-le la o nouă listă numită new_list:
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ă faceți o buclă printr-un subset al listei utilizând lista de tăiere.
Lista de înțelegeri Python
Listele de înțelegere sunt Python funcții care sunt utilizate pentru crearea de secvențe noi (cum ar fi liste, dicționare etc.) folosind secvențe care au fost deja create. Ele ajută la reducerea buclelor mai lungi și fac codul mai ușor de citit și întreținut.
De exemplu; Să presupunem că doriți să creați o listă care conține pătratele tuturor numerelor de la 1 la 9:
list_of squares = [] for int in range(1, 10): square = int ** 2 list_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 listele de înțelegere:
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]
După cum sa văzut mai sus, scrierea codului folosind liste de înțelegere este mult mai scurtă decât utilizarea buclelor for tradiționale și este, de asemenea, mai rapidă. Acesta este doar un exemplu de utilizare a listelor de înțelegere în locul buclelor for, dar aceasta poate fi replicată și utilizată în multe locuri în care pot fi utilizate și buclele for. Uneori, a merge cu o buclă for este opțiunea mai bună, mai ales dacă codul este complex, dar în multe cazuri, înțelegerea listelor vă va face codarea 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ȚIA | DESCRIERE |
---|---|
Rundă() | Rotunjește numărul transmis ca argument la un anumit număr 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 indecșii elementelor î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 de funcții) nu este sintactic, în interiorul unui literal de listă sau al argumentelor de apel ale unei funcții |
Hartă() | returnează o listă a rezultatelor după aplicarea funcției date fiecărui element al unui iterabil dat |
Acumula() | Aplicarea unei anumite funcții transmise în argumentul său tuturor elementelor listei returnează o listă care conține rezultatele intermediare |
Sumă() | Returnează suma tuturor numerelor din listă |
Cmp() | Acesta este folosit pentru a compara două liste și returnează 1 dacă prima listă este mai mare decât a doua listă. |
Insera | Introduceți elementul pentru a lista într-o anumită poziție |
Lista metode
FUNCȚIA | DESCRIERE |
---|---|
Adăuga() | Adaugă un nou articol la sfârșitul listei |
Clar() | Elimină toate elementele din listă |
Copie() | Returnează o copie a listei originale |
Extinde() | Adăugați multe articole 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 după poziție) |
Elimina() | Șterge elementul specificat din listă (șterge după valoare) |
Reverse() | Metoda de inversare in loc care inversează ordinea elementelor listei |
Rezumat
- O listă este exact ceea ce sună, un container care conține diferite Python obiecte, care pot fi numere întregi, cuvinte, valori etc.
- Python listele pot fi omogene, înseamnă că pot conține același tip de obiecte; sau eterogene, conținând diferite tipuri de obiecte.
- Pentru a accesa valorile din liste, se poate folosi indexul obiectelor din liste.
- Tăierea listei este metoda de împărțire a unui subset al unei liste, iar indicii obiectelor din listă sunt, de asemenea, utilizați pentru aceasta.
- Trei metode de ștergere a elementelor listei sunt: 1)list.remove(), 2)list.pop() și 3)operatorul del
- Metoda Append este folosită pentru a adăuga elemente. Acest lucru adaugă elementul la sfârșitul listei.
- Metoda de buclă a Python programul poate fi efectuat pe mai multe elemente ale unei liste de date în același timp.
- Listele de înțelegere sunt Python funcții care sunt utilizate pentru crearea de secvențe noi (cum ar fi liste, dicționare etc.) folosind secvențe care au fost deja create.