Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python Lijst index() met Voorbeeld

Een lijst is een container die items van verschillende datatypes (ints, floats, Boolean, strings, enz.) in een geordende volgorde opslaat. Het is een belangrijke datastructuur die is ingebouwd in Python. De gegevens worden tussen vierkante haken ([]) geschreven en de waarden worden gescheiden door komma(,).

De items in de lijst worden geïndexeerd met het eerste element beginnend bij index 0. U kunt wijzigingen aanbrengen in de gemaakte lijst door nieuwe items toe te voegen of door de bestaande items bij te werken en te verwijderen. Het kan ook dubbele items en een geneste lijst hebben.

Er zijn veel methoden beschikbaar in een lijst, en een van de belangrijkste is de index().

In deze tutorial leer je:

  • Python Lijst index()
  • For-loop gebruiken om de index van een element in een lijst te krijgen
  • Terwijl-loop en list.index() gebruiken
  • Lijstbegrip gebruiken om de index van het element in een lijst te krijgen
  • Enumerate gebruiken om de index van een element in een lijst te krijgen
  • Filter gebruiken om de index van een element in een lijst te krijgen
  • NumPy gebruiken om de index van een element in een lijst te krijgen
  • more_itertools.locate() gebruiken om de index van een element in een lijst te krijgen

Pythonlijst-index()

De list index() methode helpt je om de eerste laagste index van het gegeven element te vinden. Als er dubbele elementen in de lijst staan, wordt de eerste index van het element geretourneerd. Dit is de gemakkelijkste en eenvoudigste manier om de index te verkrijgen.

Naast de ingebouwde lijstindex()-methode, kunt u ook andere manieren gebruiken om de index te krijgen, zoals door de lijst bladeren, met behulp van lijstbegrippen, enumerate(), filtermethoden.

De methode list index() retourneert de eerste laagste index van het gegeven element.

Syntaxis

list.index(element, start, end)

Parameters

Parameters Beschrijving
element Het element waarvan je de index wilt krijgen.
start Deze parameter is optioneel. U kunt de start:index definiëren om naar het element te zoeken. Indien niet opgegeven, is de standaardwaarde 0.
einde Deze parameter is optioneel. U kunt de eindindex voor het te doorzoeken element specificeren. Indien niet gegeven, wordt het beschouwd tot het einde van de lijst.

Retourwaarde

De methode list index() retourneert de index van het gegeven element. Als het element niet in de lijst voorkomt, geeft de methode index() een fout, bijvoorbeeld ValueError:'Element' staat niet in de lijst.

Voorbeeld:om de index van het gegeven element te vinden.

In de lijst my_list =[‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’] willen we graag de index voor element C en F weten.

Het onderstaande voorbeeld laat zien hoe u de index kunt verkrijgen.

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'))

Uitgang:

The index of element C is  2
The index of element F is  5

Voorbeeld:begin en einde gebruiken in index()

In dit voorbeeld wordt geprobeerd het zoeken naar index in een lijst te beperken met behulp van start- en eindindex.

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))

Uitgang:

The index of element C is  2
The index of element F is  5
The index of element D is  3

Voorbeeld:om de index()-methode te testen met een element dat niet aanwezig is.

Wanneer u probeert te zoeken naar index in de lijst voor element dat niet aanwezig is, krijgt u een foutmelding zoals hieronder getoond:

my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("The index of element C is ", my_list.index('Z'))

Uitgang:

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 gebruiken om de index van een element in een lijst te krijgen

Met de methode list.index() hebben we gezien dat deze de index geeft van het element dat als argument wordt doorgegeven.

Beschouw de lijst nu als:my_list =[‘Guru’, ‘Siya’, ‘Tiya’, ‘Guru’, ‘Daksh’, ‘Riya’, ‘Guru’] . De naam 'Guru' komt 3 keer voor in de index, en ik wil alle indexen met de naam 'Guru'.

Met behulp van for-loop zouden we in staat moeten zijn om de meerdere indexen te krijgen zoals getoond in het onderstaande voorbeeld.

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)

Uitgang:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

Terwijl-loop en list.index() gebruiken

Het gebruik van een while-loop zal door de gegeven lijst lopen om alle indexen van het gegeven element te krijgen.

In de lijst:my_list =['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'], hebben we alle indexen van element 'Guru' nodig.

Hieronder ziet u een voorbeeld dat laat zien hoe u alle indexen kunt krijgen met behulp van while-loop

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)

Uitgang:

OriginalList is  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
The index for element Guru is  [0, 3, 6]

Lijstbegrip gebruiken om de index van elementen in een lijst te krijgen

Om alle indexen te krijgen, is een snelle en eenvoudige manier om gebruik te maken van lijstbegrip op de lijst.

Lijstbegrippen zijn Python-functies die worden gebruikt voor het maken van nieuwe reeksen (zoals lijsten, woordenboeken, enz.), d.w.z. met behulp van reeksen die al zijn gemaakt.

Ze helpen om langere loops te verminderen en maken uw code gemakkelijker te lezen en te onderhouden.

Het volgende voorbeeld laat zien hoe u dit moet doen:

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)

Uitgang:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

Enumerate gebruiken om de index van een element in een lijst te krijgen

De functie Enumerate() is een ingebouwde functie die beschikbaar is bij python. U kunt enumerate gebruiken om alle indexen van het element in een lijst te krijgen. Het neemt invoer als een itereerbaar object (d.w.z. een object dat in een lus kan worden geplaatst), en de uitvoer is een object met een teller voor elk item.

Het volgende voorbeeld laat zien hoe u enumerate in een lijst kunt gebruiken om alle indexen voor een bepaald element te krijgen.

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'])

Uitgang:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

Filter gebruiken om de index van een element in een lijst te krijgen

De methode filter() filtert de gegeven lijst op basis van de gegeven functie. Elk element van de lijst wordt doorgegeven aan de functie en de vereiste elementen worden gefilterd op basis van de voorwaarde die in de functie wordt gegeven.

Laten we de filter() methode gebruiken om de indexen voor het gegeven element in de lijst te krijgen.

Het volgende voorbeeld laat zien hoe u een filter op een lijst kunt gebruiken.

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)

Uitgang:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

NumPy gebruiken om de index van een element in een lijst te krijgen

NumPy-bibliotheek wordt speciaal gebruikt voor arrays. Dus hier zal NumPy worden gebruikt om de index van het element dat we nodig hebben uit de gegeven lijst te halen.

Om NumPy te gebruiken, moeten we het installeren en importeren.

Hier zijn de stappen voor hetzelfde:

Stap 1) NumPy installeren

pip install numpy

Stap 2) Importeer de NumPy-module.

import numpy as np

Stap 3) Maak gebruik van np.array om lijst naar een array te converteren

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
np_array = np.array(my_list)

Stap 4) Haal de index van het gewenste element op met np.where()

item_index = np.where(np_array == 'Guru')[0]

De uiteindelijke werkcode met uitvoer is als volgt:

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)

Uitgang:

Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0 3 6]

more_itertools.locate() gebruiken om de index van een element in een lijst te krijgen

De more_itertools.locate() helpt bij het vinden van de indexen van het element in de lijst. Deze module werkt met python versie 3.5+. Het pakket more_itertools moet eerst worden geïnstalleerd om er gebruik van te kunnen maken.

Hieronder volgen de stappen om more_itertools te installeren en te gebruiken

Stap1) Installeer more_itertools met pip (python pakketbeheerder). Het commando is

pip install more_itertools

Stap 2) Zodra de installatie is voltooid, importeert u de locatie module zoals hieronder weergegeven

from more_itertools import locate

Nu kunt u gebruik maken van de locatie-module in een lijst zoals hieronder in het voorbeeld wordt getoond:

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'))) 

Uitgang:

Originallist :  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0, 3, 6]

Samenvatting:

  • De list index() methode helpt je om de index van het gegeven element te vinden. Dit is de gemakkelijkste en eenvoudigste manier om de index te krijgen.
  • De methode list index() retourneert de index van het gegeven element.
  • Als het element niet in de lijst voorkomt, geeft de methode index() een fout, bijvoorbeeld ValueError:'Element' staat niet in de lijst.
  • Naast de ingebouwde lijstmethode, kun je ook andere manieren gebruiken om de index te krijgen, zoals door de lijst bladeren, lijstbegrippen gebruiken, enumerate(), een filter gebruiken, enz.
  • For-loop en while-loop gebruiken om de meerdere indexen van een bepaald element te krijgen.
  • Om alle indexen te krijgen, is een snelle en eenvoudige manier om gebruik te maken van lijstbegrip op de lijst.
  • Lijstbegrippen zijn Python-functies die worden gebruikt voor het maken van nieuwe reeksen.
  • Ze helpen om langere loops te verminderen en maken uw code gemakkelijker te lezen en te onderhouden.
  • Je kunt enumerate gebruiken om alle indexen van het element in een lijst te krijgen.
  • De functie
  • Enumerate() is een ingebouwde functie die beschikbaar is bij python. Het neemt invoer als een itereerbaar object (d.w.z. een object dat in een lus kan worden geplaatst), en de uitvoer is een object met een teller voor elk item.
  • De filter() methode filtert de gegeven lijst op basis van de gegeven functie.
  • De Numpy-bibliotheek wordt speciaal gebruikt voor arrays. U kunt NumPy gebruiken om de index van het element in de lijst te krijgen.
  • De more_itertools.locate() is nog een andere python-bibliotheek die helpt bij het vinden van de indexen van de gegeven lijst.

Python

  1. std::lijst in C++ met Voorbeeld
  2. Python Print()-instructie:afdrukken met voorbeelden
  3. Python String strip() Functie met VOORBEELD
  4. Python String count() met VOORBEELDEN
  5. Python round() functie met VOORBEELDEN
  6. Python map() functie met VOORBEELDEN
  7. Python Timeit() met voorbeelden
  8. Python-teller in verzamelingen met voorbeeld
  9. Python List count() met VOORBEELDEN
  10. Python verwijdert duplicaten uit een lijst
  11. Element verwijderen uit een Python LIST [clear, pop, remove, del]