Python List index () a példával

Tartalomjegyzék:

Anonim

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, in print("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.