Last modified: Feb 15, 2023 By Alexander Williams
4 Ways to Find a Word in a List in Python: A Comprehensive Guide
In Python, finding a specific word or element within a list is a familiar task developers often search for. This tutorial will teach us four effective methods to find a word in a list.
Method 1: Using the 'in' Keyword
We can use the in keyword to find a word in a list. The in keyword is a membership operator that returns True if the word is present in the list and False if it is not.
Find a word in a list
For example, let's say you have a list called "my_list" that contains the following elements:
my_list = ["java", "python", "jquery", "php"]
And you want to find the python word in this list.
# Define a list of items
my_list = ["java", "python", "jquery", "php"]
# Check if the word "python" is present in the list
if "python" in my_list:
# If "python" is present, print this message
print("The word 'python' is present in the list.")
else:
# If "python" is not present, print this message
print("The word 'python' is not present in the list.")
Output:
The word 'python' is present in the list.
As you can see, the program finds the word python in the my_list and returns The word 'python' is present in the list.
Find multi-words in a list
To find multi-words in the list, we need to set another list that contains words to find.
# Define a list of words
my_list = ["java", "python", "jquery", "php"]
# Define a list of words to find
words_to_find = ["python","php"]
# Iterate through words_to_find
for word in words_to_find:
# Check if word is present in my_list
if word in my_list:
# If word is present, print this message
print(f"'{word}' is present in the list")
else:
# If word is not present, print this message
print(f"'{word}' is not present in the list")
Output:
'python' is present in the list
'php' is present in the list
In the above code we:
- defined a list called
my_list
which contains the elements "java", "python", "jquery", and "php". - defined another list called
words_to_find
which contains the elements to find. - used a
for
loop to iterate through thewords_to_find
list. - used the
in
keyword to check if the word is present in themy_list
.
Method 2: Using the index() method
By using the index() method, we can find a word in a list. However, this method returns the index of the first occurrence of the specified word in the list.
Here is the syntax of the index()
list_or_tuple.index(item, start, end)
item
is the item that you want to find the index of.start
(optional) parameter the starting index from where the search should begin.end
(optional) the ending index where the search should end.
In our situation, we will use the item parameter. In the following example, we'll find the word python.
# List
my_list = ["java", "python", "jquery", "php"]
# finds the index of "python" in the list
index = my_list.index("python")
# prints the index of "python" in the list
print("The word 'python' is present at index", index)
Output:
The word 'python' is present at index 1
As we can see, the program found the word python in my_list and returned the index of the word. As we know, every list starts with an index of 0
The index() method is more powerful than the in keyword because it provides the index of the word in the list. If the word is not present will raise a ValueError, as in the following example.
# List
my_list = ["java", "python", "jquery", "php"]
# finds the index of "ruby" in the list
index = my_list.index("ruby")
# prints result
print("The word 'python' is present at index", index)
Output:
ValueError: 'ruby' is not in list
So you will need to add a try-except syntax to handle this case. Let's see how we can do that.
try:
# List
my_list = ["java", "python", "jquery", "php"]
# finds the index of "ruby" in the list
index = my_list.index("ruby")
# prints result
print("The word 'ruby' is present at index", index)
except:
print("The word 'ruby' is not present at list")
Output:
The word 'ruby' is not present at list
Method 3: Using the count() method
The count() is a method to count a specific word in a list. But it can also be used to check if a word is present in the list.
Here is count() syntax:
list.count(element)
Now, let's see an example:
# List
my_list = ["java", "python", "jquery", "php"]
# Word to Find
word_to_find = "python"
# Count word in the list
count = my_list.count(word_to_find)
# IF Count returns greater than 1
if count:
print(f"word {word_to_find} is in my_list")
else:
print(f"word {word_to_find} is not in my_list")
Output:
word python is in my_list
Our code above counts the number of occurrences of word_to_find in the my_list. The word is found in the list if the count is greater than 0.
Further, you can also use the count to find multiple words in a list. Let us see an example.
# List
my_list = ["java", "python", "jquery", "php"]
# Word to Find
list_to_find = ["python", "php"]
for w in list_to_find:
# Count word in the list
count = my_list.count(w)
# IF Count return more than 1
if count:
print(f"word {w} is in my_list")
else:
print(f"word {w} is not in my_list")
Output:
word python is in my_list
word php is in my_list
From the above example, you can see that we have set another list of words to find and iterate over it.
Method 4: Using List Comprehension
The last method of this tutorial is List Comprehension. List comprehension is a concise way of creating a new list in Python. It consists of an expression followed by a for
clause, and zero or more if
clauses.
Let us see how we can use it to find a word in a list with the help of an example.
my_list = ["java", "python", "jquery", "php"]
# word to find in the list
word_to_find = "php"
# using list comprehension to find all indexes of word_to_find
result = [i for i, x in enumerate(my_list) if x == word_to_find]
# print the result
print("The word 'php' appears at indexes:", result)
Output:
The word 'python' appears at indexes: [3]
This method finds the word in the list and gives you the index of that word because we use the enumerate() built function to add a counter to an iterable.
Conclusion
All right, In this article, we have discussed four different methods for finding a word in a list in Python. We have also discussed how to find multiple words.
Each method has its advantages and disadvantages. And the best way for a particular situation will depend on the specific requirements of the task.
Finally, I hope this article helps you find your response.
Happy Coding