Python har forskellige datatyper til at gemme en samling af data. Python-liste er en af dem, og en liste kan indeholde forskellige typer data som tal, streng, boolean osv. Nogle gange er det nødvendigt at søge efter bestemte elementer i en liste. Elementerne kan søges i python-listen på forskellige måder. Hvordan du kan finde et hvilket som helst element og en liste af elementer i listen, forklares i denne tutorial ved hjælp af forskellige eksempler.
- Eksempel-1: Find et enkelt element i en liste ved hjælp af ‘in’-operatoren
- Eksempel-2: Find et element ved hjælp af indeksmetoden
- Eksempel-3: Find flere indeks i en liste
- Eksempel-4: Find et element ved hjælp af den brugerdefinerede funktion
- Eksempel-5: Find og tæl elementerne i en liste baseret på længde
- Konklusion:
Eksempel-1: Find et enkelt element i en liste ved hjælp af ‘in’-operatoren
Det følgende script viser, hvordan du nemt kan søge et hvilket som helst element i en liste ved hjælp af ‘in’-operatoren uden at bruge en løkke. En liste med blomsternavne er defineret i scriptet, og et blomsternavn vil blive taget som input fra brugeren for at søge i listen. If-erklæringen bruges sammen med operatoren “in” til at finde det indtastede blomsternavn i listen.
# Definer en liste over blomster
flowerList =
# Tag navnet på den blomst, som du vil søge i listen
flowerName = input(“Indtast et blomsternavn:”)
# Søg i elementet ved hjælp af operatoren “in”
if flowerName.lower() in flowerList:
# Udskriv succesmeddelelse
print(“%s er fundet i listen” %(flowerName))
else:
# Udskriv ikke fundet-meddelelse
print(“%s er ikke fundet i listen” %(flowerName))
Output:
Outputtet viser, at påskelilje findes i listen, og at lilje ikke findes i listen.
Eksempel-2: Find et element ved hjælp af indeksmetoden
En anden simpel måde at finde et bestemt element i en liste på ved hjælp af indeksmetoden. Det følgende script viser brugen af index()-metoden til at søge et element i en liste. Denne metode returnerer en gyldig indeksposition, hvis det pågældende element findes i listen, ellers vil den generere en ValueError, hvis du ønsker at gemme positionen i en variabel. try-blokken vil udskrive en succesmeddelelse, hvis index()-metoden returnerer en gyldig positionsværdi baseret på søgeværdien. except-blokken vil udskrive fejlmeddelelsen, hvis det søgende element ikke findes i listen.
try:
# Definer en liste med bøger
bookList =
# Tag navnet på den bog, der skal søges i listen
bookName = input(“Indtast et bognavn:”)
# Søg i elementet ved hjælp af index-metoden
search_pos = int(bookList.index(bookName))
# Udskriv fundet-meddelelse
print(“%s bog er fundet i listen” %(bookName))
except(ValueError):
# Udskriv ikke fundet-meddelelse
print(“%s bog er ikke fundet i listen” %(bookName))
Output:
Outputtet viser, at “Goodnight Moon” findes i listen, og at “Charlie and the Chocolate Factory” ikke findes i listen.
Eksempel-3: Find flere indeks i en liste
Hvordan du kan finde et enkelt element i en liste, er vist i de to foregående eksempler. Det følgende script viser, hvordan du kan søge efter alle elementer i en liste inde i en anden liste. Der bruges tre lister i dette script. selectedList er hovedlisten, hvori elementerne i searchList vil blive søgt. foundList bruges her til at gemme de elementer, der findes i selectedList efter søgning. Den første for-sløjfe bruges til at generere foundList, og den anden for-sløjfe bruges til at iterere foundList og vise output.
# Definer en liste over udvalgte personer
selectedList =
# Definer en liste over søgende person
searchList =
# Definer en tom liste
foundList =
# Iterér hvert element fra den udvalgte liste
for index, sList in enumerate(selectedList):
# Match elementet med elementet i searchList
if sList in searchList:
# Gem værdien i foundList, hvis matchet er fundet
foundList.append(selectedList)
# iterér searchList
#for val i searchList:
# Kontroller, om værdien findes i foundList eller ej
if val i foundList:
>print(“%s er valgt.\n” %val)
else:
print(“%s er ikke valgt. \n” %val)
Output:
Der vises følgende output efter at have kørt ordet.
Eksempel-4: Find et element ved hjælp af den brugerdefinerede funktion
Hvis du ønsker at finde elementet flere gange i en liste, er det bedre at bruge en brugerdefineret søgemetode i stedet for at skrive et søgescript flere gange. Det følgende script viser, hvordan du kan finde en hvilken som helst værdi i en liste ved hjælp af en brugerdefineret funktion ved navn findElement. Funktionen returnerer True, hvis listen indeholder søgeelementet, ellers returnerer den False.
# Definer en liste med mad
food =
# Tag et madnavn fra brugeren
search = input(‘Skriv din yndlingsmad : ‘)
# Definer den brugerdefinerede funktion til at finde element i listen
def findElement(listName, searchElement):
# Læs listen ved hjælp af loop
for value i listName:
# Kontroller, om elementets værdi er lig med søgeværdien eller ej
if value == searchElement:
return True
# Returner false, hvis der ikke er fundet noget match
return False
# Kald funktionen med listens navn og søgeværdien
if findElement(food, search.lower())):
print(“%s er fundet” %search)
else:
print(“%s er ikke fundet” %search)
Output:
Der vises følgende output for input ‘Cake’ og ‘Chocolate Cake’.
Eksempel-5: Find og tæl elementerne i en liste baseret på længde
Det følgende script viser, hvordan du kan finde og tælle antallet af elementer i en liste baseret på elementets længde. Her itereres listen med navnet personer ved hjælp af for-loop og kontrolleres længden af hvert element i listen. Tællerværdien øges, hvis elementets længde er større end eller lig med 7.
# Definer en liste af personer
personer =
# Initialiser counter
counter = 0
# Iterér listen ved hjælp af loop
for name in persons:
# Kontroller elementets længde
if (len(name) >= 7) :
# Forøg tælleren med én
counter = counter + 1
# Kontroller tællerens værdi
if (counter > 0):
>print(“%d person(er) navnelængde er/er mere end 7.” %counter)
else:
print(“Navnelængden af alle personer er mindre end 7.”)
Output:
Der vises følgende output efter at have kørt scriptet.
Konklusion:
I denne vejledning vises forskellige måder at søge efter enkelte og flere elementer i listen på ved hjælp af i-operatoren, indeksmetoden og den brugerdefinerede funktion. Læseren vil være i stand til at udføre søgning korrekt i python-listen efter at have læst denne tutorial.
Se forfatterens video: her