A lista olyan tároló, amely a különböző adattípusokat (ints, float, Boolean, stringeket stb.) Rendezett sorrendben tárolja. Ez egy fontos adatstruktúra, amelyet a Python tartalmaz. Az adatokat szögletes zárójelek közé írják ([]), az értékeket vesszővel (,) választják el.
A lista belsejében lévő elemeket úgy indexelik, hogy az első elem a 0. indexen kezdődik. A létrehozott listán változtatásokat hajthat végre új elemek hozzáadásával vagy a meglévők frissítésével, törlésével. Emellett duplikált elemek és beágyazott listák is lehetnek.
A listán számos módszer áll rendelkezésre, és a legfontosabb az index ().
Ebben az oktatóanyagban megtudhatja:
- Python lista index ()
- A for-loop segítségével megkapja az elem indexét a listában
- A while-loop és a list.index () használata
- A listaértés használata az elem indexének a listában történő megszerzéséhez
- Az Enumerate használatával megkapja az elem indexét a listában
- A szűrő segítségével lekérdezhetjük egy elem indexét a listában
- A NumPy segítségével megkapja az elem indexét egy listában
- A more_itertools.locate () használatával megkapja az elem indexét egy listában
Python lista index ()
A list index () módszer segít megtalálni az adott elem első legalacsonyabb indexét. Ha a listán belül vannak ismétlődő elemek, akkor az elem első indexe kerül visszaadásra. Ez az index megszerzésének legegyszerűbb és legegyszerűbb módja.
A beépített listaindex () metódus mellett más módszereket is használhat az index megszerzéséhez, például a lista áttekintése, a listamegértések, a felsorolás (), a szűrési módszerek használatával.
A list index () metódus az adott elem első legalacsonyabb indexét adja vissza.
Szintaxis
list.index(element, start, end)
Paraméterek
Paraméterek | Leírás |
elem | Az az elem, amelyre be szeretné szerezni az indexet. |
Rajt | Ez a paraméter nem kötelező. Megadhatja a start: indexet az elem megkereséséhez. Ha nincs megadva, akkor az alapértelmezett érték 0. |
vége | Ez a paraméter nem kötelező. Megadhatja a keresendő elem végindexét. Ha nincs megadva, akkor a lista végéig figyelembe vesszük. |
Visszatérési érték
A list index () metódus az adott elem indexét adja vissza. Ha az elem nincs a listán, akkor az index () metódus hibát dob, például: ValueError: Az 'Element' nincs a listában.
Példa: Az adott elem indexének megkeresése.
A my_list = ['A', 'B', 'C', 'D', 'E', 'F'] listában szeretnénk tudni a C és F elem indexét.
Az alábbi példa bemutatja az index megszerzésének módját.
my_list = ['A', 'B', 'C', 'D', 'E', 'F']print("The index of element C is ", my_list.index('C'))print("The index of element F is ", my_list.index('F'))
Kimenet:
The index of element C is 2The index of element F is 5
Példa: Kezdés és vég használata az indexben ()
Ebben a példában megpróbálja korlátozni az index keresését a listában a kezdő és a végső index használatával.
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']print("The index of element C is ", my_list.index('C', 1, 5))print("The index of element F is ", my_list.index('F', 3, 7))#using just the startindexprint("The index of element D is ", my_list.index('D', 1))
Kimenet:
The index of element C is 2The index of element F is 5The index of element D is 3
Példa: Az index () módszer teszteléséhez egy olyan elemgel, amely nincs jelen.
Amikor megpróbálja keresni az indexet a listában olyan elemre, amely nincs jelen, hibaüzenetet kap az alábbiak szerint:
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']print("The index of element C is ", my_list.index('Z'))
Kimenet:
Traceback (most recent call last):File "display.py", line 3, inprint("The index of element C is ", my_list.index('Z'))ValueError: 'Z' is not in list
A for-loop segítségével megkapja az elem indexét a listában
A list.index () metódussal láttuk, hogy megadja az argumentumként átadott elem indexét.
Tekintsük a listát: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']. A 'Guru' név háromszor szerepel az indexben, és szeretném, ha az összes 'Guru' nevű indexet beírnám.
A for-loop használatával képesnek kell lenniünk a több index megszerzésére az alábbi példában látható módon.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']all_indexes = []for i in range(0, len(my_list)) :if my_list[i] == 'Guru' :all_indexes.append(i)print("Originallist ", my_list)print("Indexes for element Guru : ", all_indexes)
Kimenet:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
A while-loop és a list.index () használata
A while-ciklus használatával végighúzza a megadott listát, hogy megkapja az adott elem összes indexét.
A listában: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'], szükségünk van a 'Guru' elem összes indexére.
Az alábbiakban egy példa mutatja be, hogyan lehet az összes indexet megszerezni a while-loop használatával
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']result = []elementindex = -1while True:try:elementindex = my_list.index('Guru', elementindex+1)result.append(elementindex)except ValueError:breakprint("OriginalList is ", my_list)print("The index for element Guru is ", result)
Kimenet:
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']The index for element Guru is [0, 3, 6]
A listaértés használata az elem indexének a listában történő megszerzéséhez
Az összes index megszerzéséhez gyors és egyszerű módszer a lista megértésének kihasználása.
A listamegértés olyan Python-függvény, amelyet új szekvenciák (például listák, szótárak stb.) Létrehozására használnak, azaz a már létrehozott szekvenciák felhasználásával.
Segítenek csökkenteni a hosszabb ciklusokat, és megkönnyítik a kód olvasását és karbantartását.
A következő példa bemutatja, hogyan kell csinálni:
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist ", my_list)all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru']print("Indexes for element Guru : ", all_indexes)
Kimenet:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Az Enumerate használatával megkapja az elem indexét a listában
Az Enumerate () függvény a Python-nal elérhető beépített függvény. Használhatja a felsorolást, hogy az elem összes indexét listába kapja. A bemenetet iterálható objektumként veszi fel (azaz egy hurokba köthető objektumként), a kimenet pedig egy objektum, amelynek minden elemhez számlálója van.
Az alábbi példa bemutatja, hogyan lehet felhasználni a listán szereplő felsorolást az adott elem összes indexének megszerzéséhez.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist ", my_list)print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])
Kimenet:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
A szűrő segítségével lekérdezhetjük egy elem indexét a listában
A filter () módszer a megadott függvény alapján szűri az adott listát. A lista minden elemét átadjuk a függvénynek, és a szükséges elemeket a függvényben megadott feltétel alapján szűrjük.
Használjuk a filter () metódust az adott elem indexeinek lekérdezéséhez a listában.
Az alábbi példa bemutatja, hogyan lehet használni a szűrőket egy listán.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist ", my_list)all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list))))print("Indexes for element Guru : ", all_indexes)
Kimenet:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
A NumPy segítségével megkapja az elem indexét egy listában
A NumPy könyvtárat kifejezetten tömbökhöz használják. Tehát itt a NumPy-t fogjuk használni, hogy a megadott listából megszerezzük a szükséges elem indexét.
A NumPy használatához telepítenünk és importálnunk kell.
Az alábbiak a következők:
1. lépés: Telepítse a NumPy-t
pip install numpy
2. lépés: Importálja a NumPy modult.
import numpy as np
3. lépés: Használja az np.array alkalmazást a lista tömbré alakításához
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']np_array = np.array(my_list)
4. lépés: Szerezze be a kívánt elem indexét az np.where () használatával
item_index = np.where(np_array == 'Guru')[0]
A kimenettel ellátott végleges munkakód a következő:
import numpy as npmy_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']np_array = np.array(my_list)item_index = np.where(np_array == 'Guru')[0]print("Originallist ", my_list)print("Indexes for element Guru :", item_index)
Kimenet:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0 3 6]
A more_itertools.locate () használatával megkapja az elem indexét egy listában
A more_itertools.locate () segít megtalálni az elem indexeit a listában. Ez a modul a Python 3.5+ verzióval fog működni. Először a more_itertools csomagot kell telepíteni a használatához.
Az alábbiakban bemutatjuk a more_itertools telepítésének és használatának lépéseit
1. lépés: Telepítse a more_itertools eszközt a pip (python csomagkezelő) használatával. A parancs az
pip install more_itertools
2. lépés: A telepítés befejezése után importálja a locate modult az alábbiak szerint
from more_itertools import locate
Most már használhatja a locate modult egy listán, a lenti példában látható módon:
from more_itertools import locatemy_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist : ", my_list)print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru')))
Kimenet:
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Összegzés:
- A list index () metódus segít megtalálni az adott elem indexét. Ez az index megszerzésének legegyszerűbb és legegyszerűbb módja.
- A list index () metódus az adott elem indexét adja vissza.
- Ha az elem nincs a listán, az index () metódus hibát dob, például: ValueError: 'Element' nincs a listában.
- A beépített listamódszer mellett más módszereket is igénybe vehet az index megszerzéséhez, például a lista végigvezetését, a lista megértését, az enumerate () használatát, a szűrő használatát stb.
- A for-loop és a while-loop segítségével megkapja az adott elem több indexét.
- Az összes index megszerzéséhez gyors és egyszerű módszer a lista megértésének kihasználása.
- A listamegértés olyan Python-függvény, amelyet új szekvenciák létrehozására használnak.
- Segítenek csökkenteni a hosszabb ciklusokat, és megkönnyítik a kód olvasását és karbantartását.
- Használhatja a felsorolást, hogy az elem összes indexét listába kapja.
- Az Enumerate () függvény a Python-nal elérhető beépített függvény. A bemenetet iterálható objektumként veszi fel (azaz egy hurokba köthető objektumként), a kimenet pedig egy objektum, amelynek minden elemhez számlálója van.
- A filter () módszer a megadott függvény alapján szűri az adott listát.
- A Numpy könyvtárat kifejezetten tömbökhöz használják. A NumPy használatával lekérheti a listában megadott elem indexét.
- A more_itertools.locate () egy újabb python könyvtár, amely segít megtalálni a megadott lista indexeit.