Mi az a Python lista?
A lista pontosan úgy hangzik, mint egy konténer, amely különböző Python-objektumokat tartalmaz, amelyek lehetnek egész számok, szavak, értékek stb. Ez egyenértékű egy tömb más programozási nyelvekben. Szögletes zárójelben ábrázolják (és ez az egyik olyan tulajdonság, amely megkülönbözteti a zárójelekkel elválasztott soroktól). Ez is változtatható, vagyis módosítható vagy frissíthető; ellentétben a típussal, amelyek változhatatlanok.
Ebben a python oktatóanyagban megtudhatja:
- Mi az a Python lista?
- Példák Python listákra:
- Hozzáférés az értékekhez a listákon belül
- Lista szeletelése
- Listák frissítése
- Listaelemek törlése
- A listaelemek hozzáfűzése
- Beépített függvények (módszerek) felsorolása
- A listák végiglapozása
- Sorolja fel a megértéseket
Példák Python listákra:
A Python-listák lehetnek homogének, vagyis azonos típusú objektumokat tartalmazhatnak; vagy heterogén, beleértve a különböző típusú tárgyakat.
A homogén listák példái a következők:
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]
A heterogén listák példái a következők:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
Hozzáférés az értékekhez a listákon belül
A listákon belüli értékek eléréséhez a listákon belüli objektumok indexe használható. A Python-listák indexe egy elem helyére utal egy rendezett listán belül. Például:
list = [3, 22, 30, 5.3, 20]
- A fenti lista első értékének, 3 indexének értéke 0
- A második érték, a 22 indexe 1
- A harmadik érték, 30 indexe 2
stb. A listában szereplő értékek eléréséhez használja a következőket:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
A lista utolsó tagjához szintén hozzáférhet a -1 index használatával. Például,
list[-1] = 20
Lista szeletelése
A lista szeletelése a lista egy részhalmazának felosztása, és ehhez a lista objektumok indexeit is felhasználják. Például a fenti listapéldával;
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).
A Python-listák felső korlátok, és ez azt jelenti, hogy a lista szeletelése során az utolsó indexet általában figyelmen kívül hagyják. Ezért
list[2:-1] = [30, 5.3]és nem [30, 5.3, 20]. Ugyanez vonatkozik az összes többi fent felsorolt listaszeletelési példára.
Listák frissítése
Tegyük fel, hogy van listád = [fizika, kémia, matematika], és a listát [biológia, kémia, matematika] -ra akarod változtatni, hatékonyan megváltoztatva a tagot a 0. indexen. Ez könnyen megtehető az index indexhez rendelésével új tagot szeretne.
Vagyis
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
Kimenet: [biológia, kémia, matematika]
Ez a 0. indexben lévő tagot (fizika) lecseréli a kívánt új értékre (kémia). Ez megtehető a módosítani kívánt lista bármely tagjának vagy részhalmazának.
Hogy egy másik példát mondjak; tegyük fel, hogy van egy egész számnak nevezett listája, amely tartalmazza a [2, 5, 9, 20, 27] számokat. Ha a listában szereplő 5-öt lecseréli 10-re, akkor ezt megteheti:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
Az egész számok listájának utolsó tagját, amely 27, egy szabad számmal, például 30,5, lecserélheti:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Listaelemek törlése
A listaelemek törléséhez 3 Python-módszer létezik: list.remove (), list.pop () és del operátor. Az Eltávolítás metódusban az adott elemet argumentumként kell eltávolítani, míg a pop és del az eltávolítandó elem indexét argumentumként veszi fel. Például:
lista = [3, 5, 7, 8, 9, 20]
Három (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 lista [0]
Ha törölni akarja a 8-at, a 3. indexben található elemet a listáról, használhatja:
- list.remove (8), vagy
- list.pop [3]
A listaelemek hozzáfűzése
Elemek hozzáfűzéséhez egy listához az Append metódust használják, é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 függvények (módszerek) felsorolása
Az alábbiakban felsoroljuk a beépített függvények és módszerek listáját és azok leírását:
- len (lista): ez adja meg a lista kimeneti hosszát. Például:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (lista): a listában szereplő elemet adja vissza a maximális értékkel. Például:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (lista): a listában szereplő elemet adja vissza a minimális értékkel. Például:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- lista (tuple): átalakítja a tuple objektumot egy listává. Például;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): az elemet hozzáfűzi 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 megadott indexen lévő elemet a listáról. Például;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (element): törli az elemet a listából. Például;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): megfordítja a lista objektumait. Például;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (element): egy elem indexértékének lekérése a listán belül. 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 összegét megkapja, ha az értékek mind számok (egészek vagy tizedesek). Például;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
Ha a lista tartalmaz olyan elemet, amely nem szám, például karaktersorozatot, akkor az összeg metódus nem működik. Hibaüzenetet kap: " TypeError : nem támogatott operandus típus (ok) a +: 'int' és 'str' kifejezéshez"
- list.sort (): egész számok, lebegőpontos számok vagy karakterláncok felsorolása 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 is rendezhető betűrendben, vagy a karakterláncok hossza szerint. Például;
# 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']
A 'húrok használatával ugyanazt a listát betűrendben rendezhetjük.
A listák végiglapozása
A listák közötti átlapolás ugyanúgy történhet, mint a Python bármely más looping funkciója. Így a módszer 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 áttekintéséhez, és mondjuk, adjunk hozzá 10-et minden elemhez:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
A lista első három elemének áttekintése és törlése;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
Ahhoz, hogy végigjárjuk a 3 rd (index 2) az utolsó elem a listán, és fűzze őket az új lista nevű 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ármilyen vagy módszer vagy funkció alkalmazható a lista tagjaira egy adott művelet végrehajtására. Vagy a lista összes tagját átlapozhatja, vagy a lista szeletelésével a lista egy részhalmazán keresztül haladhat.
Sorolja fel a megértéseket
A listamegértések olyan Python-függvények, amelyeket új szekvenciák (például listák, szótárak stb.) Létrehozásához használnak a már létrehozott szekvenciák segítségével. Segítenek csökkenteni a hosszabb ciklusokat, és megkönnyítik a kód olvasását és karbantartását.
Például; Tegyük fel, hogy létrehozni kívánt egy listát, amely az összes szám négyzetét tartalmazza 1-től 9-ig:
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]
Ha ugyanezt tesszük a lista megérté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 azt fentebb láttuk, a kód megírása a listamegértések segítségével sokkal rövidebb, mint a hagyományos a hurkoknál, és gyorsabb is. Ez csak egy példa a listamegértések használatára a hurkok helyett, de ez sok helyen megismételhető és felhasználható, ahol hurkokhoz is használható. Néha a for ciklus használata a jobb megoldás, különösen, ha a kód összetett, de sok esetben a listák megértése megkönnyíti és gyorsítja a kódolást.
Az alábbiakban egy táblázat tartalmaz néhány listafunkciót és -módszert, valamint azok leírását.
Beépített funkciók
FUNKCIÓ | LEÍRÁS |
Kerek() | Kerekíti az argumentumként megadott számot egy megadott számjegyre, és visszaadja a lebegőpontos értéket |
Min () | adott lista minimális elemét adja vissza |
Max () | adott lista maximális elemét adja vissza |
len () | Visszaadja a lista hosszát |
Felsorolás () | Ez a beépített függvény generálja az iterable elemek értékeit és indexeit, így nem kell manuálisan számolnunk |
Szűrő() | teszteli, hogy a lista minden eleme igaz-e vagy sem |
Lambda | Kifejezés, amely megjelenhet olyan helyeken, ahol a def (a függvények létrehozásához) nem szintaktikus, a listában vagy a függvény hívási argumentumaiban |
Térkép() | az eredmények listáját adja vissza, miután az adott függvényt egy adott iterálható tétel minden elemére alkalmazta |
Felhalmozódik () | alkalmazzon egy adott függvényt, amelyet az argumentumában adtak át az összes listaelemre, a köztes eredményeket tartalmazó listát ad vissza |
Összeg() | Visszaadja a lista összes számának összegét |
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. |
Helyezze be | Elem beszúrása a listához egy adott pozícióban |
Sorolja fel a módszereket
FUNKCIÓ | LEÍRÁS |
Mellékel() | Új elemet ad a lista végéhez |
Egyértelmű() | Eltávolít minden elemet a listáról |
Másolat() | Visszaadja az eredeti lista egy példányát |
Kiterjeszt() | Vegyen fel sok elemet a lista végére |
Számol() | Visszaadja a lista egy adott elemének előfordulásainak számát |
Index() | Visszaadja a lista egy adott elemének indexét |
Pop() | Elem törlése az adott index listájáról (törlés pozíció szerint) |
Eltávolítás () | A megadott elem törlése a listáról (törlés érték szerint) |
Fordított() | Helyi megfordítási módszer, amely megfordítja a lista elemeinek sorrendjét |
Összegzés
- A lista pontosan úgy hangzik, mint egy tároló, amely különböző Python objektumokat tartalmaz, amelyek lehetnek egész számok, szavak, értékek stb.
- A Python-listák lehetnek homogének, vagyis azonos típusú objektumokat tartalmazhatnak; vagy heterogén, különböző típusú tárgyakat tartalmaz.
- A listákon belüli értékek eléréséhez a listákon belüli objektumok indexe használható.
- A lista szeletelése a lista egy részhalmazának felosztása, és ehhez a lista objektumok indexeit is felhasználják.
- 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. Ez hozzáadja az elemet a lista végéhez.
- A Python program hurokolási módja egyszerre több adatlista több elemén is elvégezhető.
- A listamegértések olyan Python-függvények, amelyeket új szekvenciák (például listák, szótárak stb.) Létrehozásához használnak a már létrehozott szekvenciák segítségével.