Example-1: Find a single element in a list using ‘in’ operator
The following script shows how you can easily search any element in a list by using ‘in’ operator without using any loop. A list of flower names is defined in the script and a flower name will be taken as input from the user to search in the list. If statement is used with ‘in’ operator to find the input flower name in the list.
# Define a list of flowers
flowerList = ['rose', 'daffodil', 'sunflower', 'poppy', 'bluebell']
# Take the name of the flower that you want to search in the list
flowerName = input("Enter a flower name:")
# Search the element using 'in' operator
if flowerName.lower() in flowerList:
# Print success message
print("%s is found in the list" %(flowerName))
else:
# Print not found message
print("%s is not found in the list" %(flowerName))
Output:
The output shows Daffodil exists in the list and Lily does not exist in the list.
Example-2: Find an element by using the index method
Another simple way to find a particular element in a list using the index method. The following script shows the use of index() method for searching an element in a list. This method returns a valid index position if the particular element is found in the list otherwise it will generate a ValueError if you want to store the position in a variable. the try block will print the success message if the index() method returns a valid position value based on search value. The except block will print the failure message if the searching element does not exist in the list.
try:
# Define a list of books
bookList = ['The Cat in the Hat', 'Harold and the Purple Crayon',
'The Very Hungry Caterpillar', 'Goodnight Moon', 'Harold and the Purple Crayon']
# Take the name of the book that you want to search in the list
bookName = input("Enter a book name:")
# Search the element using index method
search_pos = int(bookList.index(bookName))
# Print found message
print("%s book is found in the list" %(bookName))
except(ValueError):
# Print not found message
print("%s book is not found in the list" %(bookName))
Output:
The output shows ‘Goodnight Moon’ exists in the list and ‘Charlie and the Chocolate Factory’ does not exist in the list.
Example-3: Find multiple indices in a list
How you can find a single element in a list is shown in the previous two examples. The following script shows how you can search all elements of a list inside another list. Three lists are used in this script. selectedList is the main list in which the elements of searchList will be searched. foundList is used here to store those elements that are found in selectedList after searching. The first for loop is used to generate foundList and the second for loop is used to iterate foundList and display the output.
# Define a list of selected persons
selectedList = ['Sophia', 'Isabella', 'Olivia', 'Alexzendra', 'Bella']
# Define a list of searching person
searchList = ['Olivia', 'Chloe','Alexzendra']
# Define an empty list
foundList = []
# Iterate each element from the selected list
for index, sList in enumerate(selectedList):
# Match the element with the element of searchList
if sList in searchList:
# Store the value in foundList if the match is found
foundList.append(selectedList[index])
# iterate the searchList
for val in searchList:
# Check the value exists in foundList or not
if val in foundList:
print("%s is selected.\n" %val)
else:
print("%s is not selected.\n" %val)
Output:
The following output will appear after running the word.
Example-4: Find an element using the custom function
If you want to find the element multiple times in a list then it is better to use a custom search method instead of writing a search script multiple times. The following script shows how you can find any value in a list using a custom function named findElement. The function will return True if the list contains the search element otherwise returns False.
# Define a list of food
food = ['pizza', 'cake', 'strawberry', 'chocolate','chicken fry','mango']
# Take a food name from the user
search = input('Type your favorite food : ')
# Define the custom function to find element in the list
def findElement(listName, searchElement):
# Read the list using loop
for value in listName:
# Check the element value is equal to the search value or not
if value == searchElement:
return True
# Return false if no match found
return False
# Call the function with the list name and search value
if findElement(food, search.lower()):
print("%s is found" %search)
else:
print("%s is not found" %search)
Output:
The following output will appear for the input ‘Cake’ and ‘Chocolate Cake’.
Example-5: Find and count the elements in a list based on length
The following script shows how you can find and count the number of elements in a list based on the element’s length. Here, the list named persons is iterate using for loop and check the length of each element of the list. The counter value increments if the length of the element is more than or equal to 7.
# Define a list of persons
persons = ['Sophia', 'Isabella', 'Olivia', 'Alexzendra', 'Bella']
# Initialize thecounter
counter = 0
# Iterate the list using loop
for name in persons:
# Check the length of the element
if (len(name) >= 7) :
# Increment counter by one
counter = counter + 1
# Check the counter value
if (counter > 0):
print("%d person(s) name length is/are more than 7." %counter)
else:
print("The name length of all persons are less than 7.")
Output:
The following output will appear after running the script.
Conclusion:
Different ways of searching single and multiple elements in the list are shown in this tutorial using in operator, index method, and custom function. The reader will be able to perform searching properly in the python list after reading this tutorial.
Watch Author’s Video: here