Python Lista index() med Exempel
En lista รคr en behรฅllare som lagrar objekt av olika datatyper (ints, floats, Boolean, strรคngar, etc.) i en ordnad sekvens. Det รคr en viktig datastruktur som รคr inbyggd Python. Data skrivs inom hakparenteser ([]), och vรคrdena separeras med komma(,).
Objekten i listan indexeras med det fรถrsta elementet som bรถrjar vid index 0. Du kan gรถra รคndringar i den skapade listan genom att lรคgga till nya objekt eller genom att uppdatera, ta bort de befintliga. Den kan ocksรฅ ha dubbletter av objekt och en kapslad lista.
Det finns mรฅnga metoder tillgรคngliga pรฅ en lista, och av den viktiga รคr index().
Python Lista index()
Metoden list index() hjรคlper dig att hitta det fรถrsta lรคgsta indexet fรถr det givna elementet. Om det finns dubbletter av element i listan, returneras det fรถrsta indexet fรถr elementet. Detta รคr det enklaste och enklaste sรคttet att fรฅ indexet.
Fรถrutom den inbyggda list index()-metoden kan du ocksรฅ anvรคnda andra sรคtt fรถr att fรฅ indexet som att gรฅ igenom listan genom att anvรคnda listuppfattningar, enumerate(), filtermetoder.
Metoden list index() returnerar det fรถrsta lรคgsta indexet fรถr det givna elementet.
syntax
list.index(element, start, end)
Driftparametrar
| Driftparametrar | BESKRIVNING |
|---|---|
| elementet | Elementet som du vill ska fรฅ indexet. |
| starta | Denna parameter รคr valfri. Du kan definiera start: index fรถr att sรถka efter elementet. Om det inte anges รคr standardvรคrdet 0. |
| รคnden | Denna parameter รคr valfri. Du kan ange slutindex fรถr det element som ska sรถkas. Om det inte anges, anses det fram till slutet av listan. |
Returvรคrde
Metoden list index() returnerar indexet fรถr det givna elementet. Om elementet inte finns i listan, kommer metoden index() att ge ett fel, till exempel ValueError: 'Element' finns inte i listan.
Exempel: Fรถr att hitta indexet fรถr det givna elementet.
I listan my_list = ['A', 'B', 'C', 'D', 'E', 'F'], skulle vi vilja veta indexet fรถr element C och F.
Exemplet nedan visar hur du fรฅr 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'))
Produktion:
The index of element C is 2 The index of element F is 5
Exempel: Anvรคnda start och slut i index()
I det hรคr exemplet kommer att fรถrsรถka begrรคnsa sรถkningen efter index i en lista med start- och slutindex.
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))
Produktion:
The index of element C is 2 The index of element F is 5 The index of element D is 3
Exempel: Fรถr att testa metoden index() med ett element som inte finns.
Nรคr du fรถrsรถker sรถka efter index i listan fรถr element som inte finns kommer du att fรฅ ett felmeddelande som visas nedan:
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("The index of element C is ", my_list.index('Z'))
Produktion:
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
Anvรคnder for-loop fรถr att fรฅ indexet fรถr ett element i en lista
Med metoden list.index() har vi sett att den ger indexet fรถr elementet som skickas som ett argument.
Betrakta nu listan som: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] . Namnet "Guru" finns tre gรฅnger i indexet, och jag vill ha alla index med namnet "Guru".
Med hjรคlp av for-loop bรถr vi kunna fรฅ de multipla indexen som visas i exemplet nedan.
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)
Produktion:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Anvรคnda while-loop och list.index()
Att anvรคnda en while-loop kommer att gรฅ igenom listan som ges fรถr att fรฅ alla index fรถr det givna elementet.
I listan: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'], behรถver vi alla index fรถr elementet 'Guru'.
Nedan ges ett exempel som visar hur man fรฅr alla index med 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)
Produktion:
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] The index for element Guru is [0, 3, 6]
Anvรคnda listfรถrstรฅelse fรถr att fรฅ index fรถr element i en lista
Fรถr att fรฅ alla index รคr ett snabbt och enkelt sรคtt att anvรคnda sig av listfรถrstรฅelse pรฅ listan.
Listfรถrstรฅelser รคr Python funktioner som anvรคnds fรถr att skapa nya sekvenser (sรฅsom listor, ordbรถcker etc.), dvs att anvรคnda sekvenser som redan har skapats.
De hjรคlper till att minska lรคngre loopar och gรถr din kod lรคttare att lรคsa och underhรฅlla.
Fรถljande exempel visar hur man gรถr:
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)
Produktion:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Anvรคnd Enumerate fรถr att fรฅ indexet fรถr ett element i en lista
Enumerate()-funktionen รคr en inbyggd funktion tillgรคnglig med python. Du kan anvรคnda enumerate fรถr att fรฅ alla index fรถr elementet i en lista. Det tar indata som ett iterbart objekt (dvs ett objekt som kan loopas), och utdata รคr ett objekt med en rรคknare till varje objekt.
Fรถljande exempel visar hur man anvรคnder enumerate pรฅ en lista fรถr att fรฅ alla index fรถr ett givet element.
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'])
Produktion:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Anvรคnder filter fรถr att fรฅ indexet fรถr ett element i en lista
Metoden filter() filtrerar den givna listan baserat pรฅ den angivna funktionen. Varje element i listan kommer att skickas till funktionen, och de nรถdvรคndiga elementen kommer att filtreras baserat pรฅ det villkor som anges i funktionen.
Lรฅt oss anvรคnda metoden filter() fรถr att fรฅ indexen fรถr det givna elementet i listan.
Fรถljande exempel visar hur man anvรคnder filter pรฅ en lista.
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)
Produktion:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Anvรคnder NumPy fรถr att fรฅ indexet fรถr ett element i en lista
NumPy-biblioteket anvรคnds speciellt fรถr arrayer. Sรฅ hรคr kommer att anvรคnda NumPy fรถr att fรฅ indexet fรถr elementet vi behรถver frรฅn den angivna listan.
Fรถr att anvรคnda NumPy mรฅste vi installera det och importera det.
Hรคr รคr stegen fรถr samma:
Steg 1) Installera NumPy
pip install numpy
Steg 2) Importera NumPy-modulen.
import numpy as np
Steg 3) Anvรคnd np.array fรถr att konvertera lista till en array
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list)
Steg 4) Hรคmta indexet fรถr det element du vill anvรคnda med np.where()
item_index = np.where(np_array == 'Guru')[0]
Den slutliga arbetskoden med utdata รคr fรถljande:
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)
Produktion:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0 3 6]
Anvรคnda more_itertools.locate() fรถr att fรฅ indexet fรถr ett element i en lista
More_itertools.locate() hjรคlper till att hitta indexen fรถr elementet i listan. Den hรคr modulen fungerar med python version 3.5+. Fรถrpackningen more_itertools mรฅste installeras fรถrst fรถr att kunna anvรคnda den.
Fรถljande รคr stegen fรถr att installera och anvรคnda more_itertools
Steg 1) Installera more_itertools med pip (python package manager). Kommandot รคr
pip install more_itertools
Steg 2) Nรคr installationen รคr klar, importera lokalisera modul som visas nedan
from more_itertools import locate
Nu kan du anvรคnda lokaliseringsmodulen pรฅ en lista som visas nedan i exemplet:
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')))
Produktion:
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Sammanfattning
- Metoden list index() hjรคlper dig att hitta indexet fรถr det givna elementet. Detta รคr det enklaste och enklaste sรคttet att fรฅ indexet.
- Metoden list index() returnerar indexet fรถr det givna elementet.
- Om elementet inte finns i listan kommer metoden index() att ge ett fel, till exempel ValueError: 'Element' finns inte i listan.
- Fรถrutom den inbyggda listmetoden kan du ocksรฅ anvรคnda andra sรคtt att fรฅ indexet som att gรฅ igenom listan, anvรคnda listuppfattningar, anvรคnda enumerate(), anvรคnda ett filter, etc.
- Anvรคnda for-loop och while-loop fรถr att fรฅ flera index fรถr ett givet element.
- Fรถr att fรฅ alla index รคr ett snabbt och enkelt sรคtt att anvรคnda sig av listfรถrstรฅelse pรฅ listan.
- Listfรถrstรฅelser รคr Python funktioner som anvรคnds fรถr att skapa nya sekvenser.
- De hjรคlper till att minska lรคngre loopar och gรถr din kod lรคttare att lรคsa och underhรฅlla.
- Du kan anvรคnda enumerate fรถr att fรฅ alla index fรถr elementet i en lista.
- Enumerate()-funktionen รคr en inbyggd funktion tillgรคnglig med python. Det tar indata som ett iterbart objekt (dvs ett objekt som kan loopas), och utdata รคr ett objekt med en rรคknare till varje objekt.
- Metoden filter() filtrerar den givna listan baserat pรฅ den angivna funktionen.
- Numpy-biblioteket anvรคnds speciellt fรถr arrayer. Du kan anvรคnda NumPy fรถr att fรฅ indexet fรถr det element som anges i listan.
- More_itertools.locate() รคr รคnnu ett python-bibliotek som hjรคlper till att hitta indexen fรถr den angivna listan.
