Python lista: Megértés, Apend, Rendezés, Hosszúság, Fordított PÉLDÁK

Tartalomjegyzék:

Anonim

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.