Python Lista értelmezése, hozzáfűzése, rendezése, hossza [EXAMPLES]
Mi az a Python Lista?
A lista pontosan az, aminek hangzik, egy tároló, amely mást tartalmaz Python objektumok, amelyek lehetnek egész számok, szavak, értékek stb. Ez a tömb megfelelője más programozási nyelvekben. Szögletes zárójelekkel jelöljük (és ez az egyik attribútum, amely megkülönbözteti a soroktól, amelyeket zárójellel választunk el). Ez is változtatható, azaz módosítható, frissíthető; ellentétben a sorokkal, amelyek megváltoztathatatlanok.
Példák Python felsorolja:
Python a listák homogének lehetnek, ami azt jelenti, hogy tartalmazhatnak azonos típusú objektumokat; vagy heterogén, beleértve a különböző típusú objektumokat.
Példák a homogén listákra:
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]
Példák a heterogén listákra:
[2, 'cat', 34.33, 'Travis'] [2.22, 33, 'pen']
A listákon belüli értékek elérése
A listákon belüli értékek eléréséhez a listákon belüli objektumok indexe használható. Egy index benne Python A listák egy elem helyzetére utalnak egy rendezett listán belül. Például:
list = [3, 22, 30, 5.3, 20]
- A fenti lista első értékének, a 3-nak az indexe 0
- A második érték, a 22, indexe 1
- A harmadik érték, a 30, indexe 2
stb. A lista egyes értékeinek eléréséhez a következőket kell használnia:
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
A lista utolsó tagja a -1 index használatával is elérhető. Például,
list[-1] = 20
Python Lista szeletelés
A listaszeletelés egy lista részhalmazának felosztásának módja, és ehhez a listaobjektumok indexei is használatosak. Például ugyanazt a fenti listát használva;
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 A listák felső korlátja kizárólagos, és ez azt jelenti, hogy a listaszeletelés során az utolsó indexet rendszerint figyelmen kívül hagyja. Ezért
list[2:-1] = [30, 5.3]
, és nem [30, 5.3, 20]. Ugyanez vonatkozik az összes többi listaszeletelési példára, amelyet fent említettünk.
Listák frissítése
Tegyük fel, hogy van egy listája = [fizika, kémia, matematika], és a listát a következőre szeretné módosítani: [biológia, kémia, matematika], hatékonyan megváltoztatva a 0 indexű tagot. Ez egyszerűen megtehető, ha az indexet a új tagot szeretne.
Ez az,
list = [physics, chemistry, mathematics] list[0] = biology print(list)
Kimenet: [biológia, kémia, matematika]
Ez lecseréli a 0 indexnél lévő tagot (fizika) a kívánt új értékre (kémia). Ez megtehető a lista bármely módosítani kívánt tagjánál vagy részhalmazánál.
Hogy egy másik példát mondjak; Tegyük fel, hogy van egy egész számok nevű listája, amely a [2, 5, 9, 20, 27] számokat tartalmazza. Ha a listában szereplő 5-öt 10-re szeretné cserélni, ezt a következőképpen teheti meg:
integers = [2, 5, 9, 20, 27] integers[1] = 10 print(integers) >>> [2, 10, 9, 20, 27]
Ha az egész számok listájának utolsó tagját, azaz a 27-et szeretné lecserélni egy szabad számra, például 30.5-re, a következőket kell használnia:
integers = [2, 5, 9, 20, 27] integers[-1] = 30.5 print(integers) >>> [2, 5, 9, 20, 30.5]
Listaelemek törlése
Vannak 3 Python a listaelemek törlésének módszerei: list.remove(), list.pop() és del operátor. Az Remove metódus az eltávolítandó elemet veszi argumentumként, míg a pop és del az eltávolítandó elem indexét veszi argumentumként. Például:
lista = [3, 5, 7, 8, 9, 20]
A 3 (az 1. elem) törléséhez a listából a következőket használhatja:
- list.remove(3) vagy
- list.pop[0], vagy
- del list[0]
A 8-as, a 3-as indexen lévő elem törléséhez a listából a következőket használhatja:
- list.remove(8), vagy
- list.pop[3]
Listaelemek hozzáfűzése
Elemek listához fűzéséhez a hozzáfűzési módszert kell használni, és ez hozzáadja az elemet a lista végéhez.
Például:
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"]
Beépített funkciók (módszerek) listázása
Az alábbiakban felsoroljuk a listában felsorolt beépített függvényeket és metódusokat a leírásukkal együtt:
- len(lista): ez adja meg kimenetként a lista hosszát. Például:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
- max(lista): a lista elemét adja vissza a maximális értékkel. Például:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
- min(lista): visszaadja a lista elemét a minimális értékkel. Például:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
- lista (tuple): egy tuple objektumot listává alakít. Például;
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
- list.append(elem): hozzáfűzi az elemet a listához. Például;
numbers = [2, 5, 7, 9] numbers.append(15) print(numbers) >>> [2, 5, 7, 9, 15]
- list.pop(index): eltávolítja a listából a megadott indexen lévő elemet. Például;
numbers = [2, 5, 7, 9, 15] numbers.pop(2) print(numbers) >>> [2, 5, 9, 15]
- list.remove(elem): törli az elemet a listából. Például;
values = [2, 5, 7, 9] values.remove(2) print(values) >>> [5, 7, 9]
- lista.fordítva(): megfordítja a lista objektumait. Például;
values = [2, 5, 7, 10] values.reverse() print(values) >>> [10, 7, 5, 2]
- list.index(elem): a listán belüli elem indexértékének lekérése. Például;
animals = ['cat', 'dog', 'fish', 'cow', 'goat'] fish_index = animals.index('fish') print(fish_index) >>> 2
- összeg(lista): a lista összes értékének összege, ha az értékek mind számok (egész vagy tizedes). Például;
values = [2, 5, 10] sum_of_values = sum(values) print(sum_of_values) >>> 17
Ha a lista olyan elemet tartalmaz, amely nem szám, például karakterlánc, akkor az összegzési módszer nem fog működni. Hibaüzenetet kap a következővel: „Típushiba: nem támogatott operandustípus(ok) a + karakterekhez: 'int' és 'str'
- list.sort(): egész számok, lebegőpontos számok vagy karakterláncok listájának rendezése növekvő vagy csökkenő sorrendben. Például:
values = [1, 7, 9, 3, 5] # To sort the values in ascending order: values.sort() print(values) >>> [1, 3, 5, 7, 9]
Egy másik példa:
values = [2, 10, 7, 14, 50] # To sort the values in descending order: values.sort(reverse = True) print(values) >>> [50, 14, 10, 7, 2]
A karakterláncok listája szintén rendezhető ábécé sorrendben vagy a karakterláncok hossza szerint. Például;
# 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']
Ugyanazt a listát ábécé szerint rendezhetjük a stringek használatával.
Lapozás a listákon
A listákon keresztüli hurkolást ugyanúgy lehet végrehajtani, mint bármely más ciklusos funkciót Python. Így egy metódus egy lista több elemén is végrehajtható egyszerre. Például:
lista = [10, 20, 30, 40, 50, 60, 70].
A lista összes elemének végigfutásához, és tegyük fel, adjunk hozzá 10-et minden elemhez:
for elem in list: elem = elem + 5 print(elem) >>>>15 25 35 45 55 65 75
A lista első három elemének végigjátszása és az összes törlése;
for elem in list[:3]: list.remove(elem) >>>list = [40, 50, 60, 70]
A 3rd (2. index) a lista utolsó eleméhez, és hozzáfűzze őket egy új listához, melynek neve 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]
Ily módon bármely vagy módszer vagy függvény alkalmazható a lista tagjaira egy adott művelet végrehajtására. A lista összes tagját vagy a lista egy részhalmazát a listaszeletelés segítségével ismételheti.
Lista megértések Python
A listaértések azok Python olyan függvények, amelyek új sorozatok (például listák, szótárak stb.) létrehozására szolgálnak már létrehozott sorozatok felhasználásával. Segítenek csökkenteni a hosszabb ciklusokat, és könnyebben olvashatóvá és karbantarthatóvá teszik a kódot.
Például; Tegyük fel, hogy olyan listát akart létrehozni, amely tartalmazza az összes szám négyzetét 1-től 9-ig:
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]
Ha ugyanezt szeretné megtenni a lista értelmezésével:
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]
Amint fentebb látható, a kód írása listák megértésével sokkal rövidebb, mint a hagyományos ciklusoknál, és gyorsabb is. Ez csak egy példa arra, hogy a for ciklusok helyett a listaértelmezéseket használjuk, de ez replikálható és sok helyen használható, ahol a for ciklus is használható. Néha a for ciklus a jobb megoldás, különösen, ha a kód összetett, de sok esetben a lista megértése megkönnyíti és gyorsabbá teszi a kódolást.
Az alábbiakban egy táblázat található, amely néhány lista függvényt és metódust, valamint azok leírását tartalmazza.
Beépített funkciók
FUNKCIÓ | LEÍRÁS |
---|---|
Kerek () | Az argumentumként átadott számot meghatározott számú számjegyre kerekíti, és a lebegőpontos értéket adja vissza |
Min() | egy adott lista minimális elemét adja vissza |
Max() | egy adott lista maximális elemét adja vissza |
len () | A lista hosszát adja vissza |
Enumerate() | Ez a beépített függvény egy iterálható elem értékét és indexét is generálja, így nem kell manuálisan számolnunk |
Szűrő() | teszteli, hogy a lista minden eleme igaz-e vagy sem |
Lambda | Olyan kifejezés, amely megjelenhet olyan helyeken, ahol a def (a függvények létrehozásához) nem szintaktikai, egy list literálon belül vagy egy függvény hívási argumentumain belül |
Térkép() | visszaadja az eredmények listáját, miután az adott függvényt egy adott iteráció minden elemére alkalmazta |
Felhalmoz() | az argumentumában átadott függvény alkalmazása az összes listaelemre a köztes eredményeket tartalmazó listát adja vissza |
Összeg() | A listában szereplő összes szám összegét adja eredményül |
Cmp() | Ez két lista összehasonlítására szolgál, és 1-et ad vissza, ha az első lista nagyobb, mint a második lista. |
betétlap | Elem beszúrása a listához egy adott helyen |
Módszerek listája
FUNKCIÓ | LEÍRÁS |
---|---|
Mellékel() | Új elemet ad a lista végéhez |
Egyértelmű() | Eltávolítja az összes elemet a listáról |
Másolat() | Visszaadja az eredeti lista másolatát |
Kiterjeszt() | Adjon hozzá sok elemet a lista végéhez |
Számol() | Egy adott elem előfordulásának számát adja vissza egy listában |
Index() | Egy lista egy adott elemének indexét adja vissza |
Pop() | Törli az elemet a listából egy adott indexnél (törlés pozíció szerint) |
Eltávolítás() | Törli a megadott elemet a listáról (törlés érték szerint) |
Reverse() | Helyi megfordítási módszer, amely megfordítja a lista elemeinek sorrendjét |
Összegzésként
- A lista pontosan az, aminek hangzik, egy tároló, amely mást tartalmaz Python objektumok, amelyek lehetnek egész számok, szavak, értékek stb.
- Python a listák lehetnek homogének, azaz tartalmazhatnak azonos típusú objektumokat; vagy heterogén, különböző típusú objektumokat tartalmaz.
- A listákon belüli értékek eléréséhez a listákon belüli objektumok indexe használható.
- A listaszeletelés egy lista részhalmazának felosztásának módja, és ehhez a listaobjektumok indexei is használatosak.
- Három módszer a listaelemek törlésére: 1)list.remove(), 2)list.pop() és 3)del operátor
- Az Append metódus az elemek hozzáfűzésére szolgál. Ezzel az elem a lista végére kerül.
- Looping módszere Python program egy adatlista több elemén is végrehajtható egyszerre.
- A listaértések azok Python olyan függvények, amelyek új sorozatok (például listák, szótárak stb.) létrehozására szolgálnak már létrehozott sorozatok felhasználásával.