Python Az index() listázása a példával
A lista egy olyan tároló, amely különböző adattípusú elemeket (ints, float, Boolean, karakterláncok stb.) tárol rendezett sorrendben. Ez egy fontos adatstruktúra, amely be van építve Python. Az adatokat szögletes zárójelbe ([]) írjuk, és az értékeket vesszővel (,) választjuk el.
A listán belüli elemek az első 0-tól kezdődő elemekkel indexelve vannak. A létrehozott listán új elemek hozzáadásával vagy a meglévők frissítésével, törlésével módosíthatunk. Lehetnek ismétlődő elemek és egy beágyazott lista is.
A listán számos módszer áll rendelkezésre, és a legfontosabb az index().
Python Lista index()
A list index() metódus segít megtalálni az adott elem első legalacsonyabb indexét. Ha a listán belül ismétlődő elemek vannak, akkor az elem első indexe kerül visszaadásra. Ez a legegyszerűbb és legegyszerűbb módja az index beszerzésének.
A beépített list index() metóduson kívül más módokat is használhat az index beszerzésére, például a listában való körözéssel, listamegértésekkel, enumerate(), szűrési módszerekkel.
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 indexet lekérni kívánt elem. |
kezdet | Ez a paraméter nem kötelező. Megadhatja a start: indexet az elem kereséséhez. Ha nincs megadva, az alapértelmezett érték 0. |
végén | Ez a paraméter nem kötelező. Megadhatja a keresendő elem végindexét. Ha nem adják meg, akkor a lista végéig figyelembe kell venni. |
Visszatérési érték
A list index() metódus az adott elem indexét adja vissza. Ha az elem nem szerepel a listában, az index() metódus hibát jelez, például ValueError: Az 'Elem' nincs a listában.
Példa: Az adott elem indexének megtalálása.
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, hogyan szerezheti be az indexet.
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'))
output:
The index of element C is 2 The index of element F is 5
Példa: Kezdés és vég használata az index()-ben
Ebben a példában megpróbálja korlátozni az index keresését egy listában a kezdő és záró 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 startindex print("The index of element D is ", my_list.index('D', 1))
output:
The index of element C is 2 The index of element F is 5 The index of element D is 3
Példa: Az index() metódus tesztelése olyan elemmel, amely nincs jelen.
Ha olyan elemre próbál indexet keresni a listában, amely nem található meg, az alábbi hibaüzenetet kapja:
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print("The index of element C is ", my_list.index('Z'))
output:
Traceback (most recent call last): File "display.py", line 3, in <module> print("The index of element C is ", my_list.index('Z')) ValueError: 'Z' is not in list
For-loop használata a lista elemeinek indexének lekéréséhez
A list.index() metódussal láttuk, hogy az argumentumként átadott elem indexét adja meg.
Most tekintse a listát a következőnek: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']. A „Guru” név 3-szor szerepel az indexben, és az összes „Guru” nevű indexet szeretném.
A for-loop használatával meg kell tudni szerezni a több indexet, amint az az alábbi példában látható.
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)
output:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
A while ciklus és a list.index() használata
A while ciklus segítségével végigpörgeti a 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 bemutatja, hogyan szerezheti be az összes indexet a while ciklus használatával
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] result = [] elementindex = -1 while True: try: elementindex = my_list.index('Guru', elementindex+1) result.append(elementindex) except ValueError: break print("OriginalList is ", my_list) print("The index for element Guru is ", result)
output:
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] The index for element Guru is [0, 3, 6]
Listamegértés használata a lista elem indexének lekéréséhez
Az összes index beszerzéséhez egy gyors és egyszerű módja a lista megértésének használata.
A listaértések azok Python olyan függvények, amelyeket új sorozatok létrehozására használnak (például listák, szótárak stb.), azaz a 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.
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)
output:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Az Enumerate használata a lista elemeinek indexének lekéréséhez
Az Enumerate() függvény a pythonhoz elérhető beépített függvény. Használhatja az enumerate funkciót, hogy az elem összes indexét egy listában kapja meg. A bemenetet iterálható objektumként veszi fel (azaz olyan objektumként, amely hurkolható), a kimenet pedig egy objektum, amely minden elemhez számlálót tartalmaz.
A következő példa bemutatja, hogyan használhatja az enumerate egy listát az adott elem összes indexének lekéré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'])
output:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Szűrő használata a lista elemeinek indexének lekéréséhez
A filter() metódus a megadott függvény alapján szűri az adott listát. A lista minden eleme átkerül a függvényhez, és a szükséges elemeket a függvényben megadott feltétel alapján szűrjük.
Használjuk a filter() metódust, hogy az adott elem indexeit megkapjuk a listában.
A következő példa bemutatja, hogyan használhatja a szűrőt 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)
output:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
A NumPy használata egy lista elemének indexének lekéréséhez
A NumPy könyvtárat kifejezetten tömbökhöz használják. Tehát itt a NumPy-t fogjuk használni, hogy megkapjuk a szükséges elem indexét a megadott listából.
A NumPy használatához telepítenünk kell és importálnunk kell.
Íme a lépések ehhez:
Step 1) Telepítse a NumPy-t
pip install numpy
Step 2) Importálja a NumPy modult.
import numpy as np
Step 3) Használja az np.array-t a lista tömbbé alakításához
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list)
Step 4) Szerezze be a kívánt elem indexét aznp.where() segítségével
item_index = np.where(np_array == 'Guru')[0]
A végső munkakód a kimenettel a következő:
import numpy as np my_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)
output:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0 3 6]
A more_itertools.locate() használata a lista elemeinek indexének lekéréséhez
A more_itertools.locate() segít megtalálni az elem indexeit a listában. Ez a modul a python 3.5+ verziójával fog működni. A csomag more_itertools használatához először telepíteni kell.
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 fájlt a pip (python csomagkezelő) segítségével. A parancs az
pip install more_itertools
Step 2) A telepítés befejezése után importálja a elhelyez modult az alábbiak szerint
from more_itertools import locate
Most már használhatja a helymeghatározási modult egy listán, az alábbi példában látható módon:
from more_itertools import locate my_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')))
output:
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Összegzésként
- A list index() metódus segít megtalálni az adott elem indexét. Ez a legegyszerűbb és legegyszerűbb módja az index beszerzésének.
- A list index() metódus az adott elem indexét adja vissza.
- Ha az elem nem szerepel a listában, az index() metódus hibát jelez, például ValueError: 'Elem' nincs a listában.
- A beépített lista metóduson kívül más módokat is használhat az index lekérésére, mint például a lista átpörgetése, a lista megértése, az enumerate(), szűrő használata stb.
- For-loop és while-loop használata egy adott elem többszörös indexének lekéréséhez.
- Az összes index beszerzéséhez egy gyors és egyszerű módja a lista megértésének használata.
- A listaértések azok Python függvények, amelyeket új sorozatok létrehozására használnak.
- Segítenek csökkenteni a hosszabb ciklusokat, és könnyebben olvashatóvá és karbantarthatóvá teszik a kódot.
- Használhatja az enumerate funkciót, hogy az elem összes indexét egy listában kapja meg.
- Az Enumerate() függvény a pythonhoz elérhető beépített függvény. A bemenetet iterálható objektumként veszi fel (azaz olyan objektumként, amely hurkolható), a kimenet pedig egy objektum, amely minden elemhez számlálót tartalmaz.
- A filter() metódus 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 segítségével megkaphatja 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.