Check If All Elements In A List Are Identical

Summary: The following methods allow us to check if all elements in a list are identical or not:

  • Using list.count()
  • Compare The Elements Using a For Loop
  • Using The all() Method
  • Using The set() Method
  • Using Another List
  • Slice And Compare

Problem: Given a list; how will you identify if all elements within the list are identical or not?

Example:

li_1 = ['Python','Python','Python'] 
li_2 = ['Python','Java','C++']

# <some method to check if the elements in li_1 and li_2 are similar>

Output for li_1: All elements in the list are equal
Output for li_2: All elements in the list are not equal

Now, without further ado, let us dive into the solutions to our problem.

๐Ÿ“š Method 1: Using list.count()

โœ๏ธ In Python, the count() function is an inbuilt method that is used to count the number of events of a substring in a given string. 

โžฅ To check if all elements in a list are identical, you have to check the result of the count() method and then compare it with the length of the list. Therefore, if the length is equal to the count of the first element in the list, it means that all the elements in the list are same as the first element, i.e., all elements are identical. Otherwise, they are not identical.

Solution:

def check(lst):
    flag = bool(lst.count(lst[0]) == len(lst))
    if flag:
        print("All elements in list are equal")
    else:
        print("All elements in list are not equal")


li_1 = ["hi", "hi", "hi", "hi", "hi"]
check(li_1)
li_2 = ["hi", "welcome", "to", "Finxter"]
check(li_2)

Output:

All elements in list are equal
All elements in list are not equal

๐Ÿ“š Method 2: Compare The Elements Using a For Loop

โžฅ Another approach to solve our problem is to store the value of the first element of the list in a variable. Then, use a for loop to iterate through all the elements to compare every element with the variable storing the first element. When the elements are not equal, the function returns false.

Solution:

def check(lst):
    firs_element = lst[0]
    for element in lst:  # comparing every element with first element
        if element != firs_element:
            return False
    else:
        return True


lst1 = ["hello", "hello", "hello", "hello", "hello"]
lst2 = ["hello", "welcome", "to", "finxter"]

if check(lst1):
    print("All elements in list1 are equal")
else:
    print("All elements in list1 are not equal")

if check(lst2):
    print("All elements in list2 are equal")
else:
    print("All elements in list2 are not equal")

Output:

All elements in list1 are equal
All elements in list2 are not equal

๐Ÿ“š Method 3: Using The all() Method

โœ๏ธ The all() function is an inbuilt method in Python which compares every element in the list.

โžฅ This solution is similar to what we have done in the second method; however, rather than using a loop, we are utilizing the all() method.

Solution:

def check(lst):
    pt = all(element == lst[0] for element in lst)
    return pt


lst1 = ["hey", "hey", "hey", "hey", "hey"]
lst2 = ["hey", "welcome", "to", "Finxter"]
if check(lst1):
    print("All elements in list 1 are equal")
else:
    print("All elements in list 1 are not equal")
if check(lst2):
    print("All elements in list 2 are equal")
else:
    print("All elements in list 2 are not equal")

Output:

All elements in list 1 are equal
All elements in list 2 are not equal

๐Ÿ“š Method 4: Using The set() Method

Another approach to check if all elements in the list are identical or not is to utilize the set() method that is an inbuilt method in Python used to convert the list into a set.

โžฅ As there cannot be any duplicate elements in a set, you can utilize this property to check if every element is identical or not. If every element in the list is the same, then the set will contain just a single element.

Solution:

def check(lst):
    if len(set(lst)) == 1:
        output = "All elements in the list are equal!"
    else:
        output = "All elements in the list are not equal!"
    return output


li_1 = ["hello", "hello", "hello", "hello", "hello"]
li_2 = ["hello", "welcome", "to", "Finxter"]
print("Output for li_1: ", check(li_1))
print("Output for li_2: ", check(li_2))

Output:

Output for li_1:  All elements in the list are equal!
Output for li_2:  All elements in the list are not equal!

๐Ÿ“š Method 5: Using Another List

In this method:

  • Take the first element of the list and then multiply it with the length of the list to help create another list. Thus, the new list will contain the same elements as the first element of the given list size.
  • Now, you have to compare the two lists.

Let’s have a look at following code to understand how we can implement the above concept:

def check(lst):
    return [lst[0]] * len(lst) == lst


lst1 = ["hello", "hello", "hello", "hello", "hello"]
lst2 = ["hello", "welcome", "to", "Finxter"]

if check(lst1):
    print("All elements in list 1 are equal")
else:
    print("All elements in list 1 are not equal")

if check(lst2):
    print("All elements in list 2 are equal")
else:
    print("All elements in list 2 are not equal")

Output:

All elements in list 1 are equal
All elements in list 2 are not equal

๐Ÿ“š Method 6: Slice And Compare

Now, this method is a quick and tricky hack to solve a problem!๐Ÿ˜‰

โžฅ Slicing in Python allows us to access certain parts of the given list. It helps to retrieve a set of subset values. Hence, we can use this method to check if all elements in a list are identical by comparing the start to the end of the list and the end to the start of the given list.

Solution:

def check(lst):
    return lst[1:] == lst[:-1]


lst1 = ["hello", "hello", "hello", "hello", "hello"]
lst2 = ["hello", "welcome", "to", "Finxter"]
if check(lst1):
    print("All elements in list 1 are equal")
else:
    print("All elements in list 1 are not equal")

if check(lst2):
    print("All elements in list 2 are equal")
else:
    print("All elements in list 2 are not equal")

Output:

All elements in list 1 are equal
All elements in list 2 are not equal

Conclusion

We have come to the end of this article, and I hope this article helped you to understand: “How to check if all elements in a list are identical?”. Please subscribe and stay tuned for more exciting articles. Happy coding! ๐Ÿ

Thank You Rashi Agarwal for helping me with this article!

The Complete Guide to PyCharm
  • Do you want to master the most popular Python IDE fast?
  • This course will take you from beginner to expert in PyCharm in ~90 minutes.
  • For any software developer, it is crucial to master the IDE well, to write, test and debug high-quality code with little effort.

Join the PyCharm Masterclass now, and master PyCharm by tomorrow!