GeeksforGeeks App
Open App
Browser
Continue

# Python | Check if all elements in a List are same

Given a list, write a Python program to check if all the elements in the given list are the same.

Example:

```Input: ['Geeks', 'Geeks', 'Geeks', 'Geeks', ]
Output: Yes```
```Input: ['Geeks', 'Is', 'all', 'Same', ]
Output: No```

There are various ways we can do this task. Let’s see different ways we can check if all elements in a List are the same.

Method #1: Comparing each element.

## Python3

 `# Python program to check if all``# elements in a List are same`  `def` `checkList(lst):` `    ``ele ``=` `lst[``0``]``    ``chk ``=` `True` `    ``# Comparing each element with first item``    ``for` `item ``in` `lst:``        ``if` `ele !``=` `item:``            ``chk ``=` `False``            ``break` `    ``if` `(chk ``=``=` `True``):``        ``print``(``"Equal"``)``    ``else``:``        ``print``(``"Not equal"``)`  `# Driver Code``lst ``=` `[``'Geeks'``, ``'Geeks'``, ``'Geeks'``, ``'Geeks'``, ]``checkList(lst)`

Output

`Equal`

But In Python, we can do the same task in many interesting ways.

Method #2: Using all() method

## Python3

 `# Python program to check if all``# elements in a List are same``res ``=` `False`  `def` `chkList(lst):``    ``if` `len``(lst) < ``0``:``        ``res ``=` `True``    ``res ``=` `all``(ele ``=``=` `lst[``0``] ``for` `ele ``in` `lst)` `    ``if``(res):``        ``print``(``"Equal"``)``    ``else``:``        ``print``(``"Not equal"``)`  `# Driver Code``lst ``=` `[``'Geeks'``, ``'Geeks'``, ``'Geeks'``, ``'Geeks'``]``chkList(lst)`

Output

`Equal`

Method #3: Using count() method

## Python3

 `# Python program to check if all``# elements in a List are same``res ``=` `False`  `def` `chkList(lst):``    ``if` `len``(lst) < ``0``:``        ``res ``=` `True``    ``res ``=` `lst.count(lst[``0``]) ``=``=` `len``(lst)` `    ``if``(res):``        ``print``(``"Equal"``)``    ``else``:``        ``print``(``"Not equal"``)`  `# Driver Code``lst ``=` `[``'Geeks'``, ``'Geeks'``, ``'Geeks'``, ``'Geeks'``]``chkList(lst)`

Output

`Equal`

Method #4: Using set data structure Since we know there cannot be duplicate elements in a set, we can use this property to check whether all the elements are same or not.

## Python3

 `# Python program to check if all``# elements in a List are same`  `def` `chkList(lst):``    ``return` `len``(``set``(lst)) ``=``=` `1`  `# Driver Code``lst ``=` `[``'Geeks'``, ``'Geeks'``, ``'Geeks'``, ``'Geeks'``]` `if` `chkList(lst) ``=``=` `True``:``    ``print``(``"Equal"``)``else``:``    ``print``(``"Not Equal"``)`

Output

`Equal`

Method #5 : Using len() method

## Python3

 `# Python program to check if all``# elements in a List are same``lst ``=` `[``'Geeks'``, ``'Geeks'``, ``'Geeks'``, ``'Geeks'``]``if``([lst[``0``]]``*``len``(lst) ``=``=` `lst):``    ``print``(``"Equal"``)``else``:``    ``print``(``"Not equal"``)`

Output

`Equal`

Method#6: Using recursion

## Python3

 `#Python program to check if all the elements in the given list are the same.``def` `checkList(lst, ele``=``None``, index``=``0``):``    ``# if ele is None, assign the first element of the list to ele``    ``if` `ele ``is` `None``:``        ``ele ``=` `lst[``0``]``    ``# base case: if index is equal to the length of the list, return True``    ``if` `index ``=``=` `len``(lst):``        ``return` `True``    ``# if the current element at index is not equal to ele, return False``    ``elif` `lst[index] !``=` `ele:``        ``return` `False``    ``# otherwise, call the function again with the next index``    ``else``:``        ``return` `checkList(lst, ele, index``+``1``)` `# Driver Code``lst ``=` `[``'Geeks'``, ``'Geeks'``, ``'Geeks'``, ``'Geeks'``]``# check if the function returns True``if` `checkList(lst):``    ``print``(``"Equal"``)``else``:``    ``print``(``"Not equal"``)` `#This code is contributed Vinay Pinjala.`

Output

`Equal`

Time Complexity: O(n)
Auxiliary Space: O(n)

Method #7: Using the reduce function from the functools library and the operator module:

## Python3

 `from` `functools ``import` `reduce``import` `operator` `def` `all_elements_same(lst):``    ``return` `reduce``(operator.eq, lst)` `# driver code``lst ``=` `[``1``,``1``,``1``,``1``,``1``]``if` `all_elements_same(lst):``    ``print``(``"Equal"``)``else``:``    ``print``(``"Not Equal"``)`

Output:

`Equal`

Time Complexity: O(n)
Auxiliary Space: O(n)

Method #8 : Using operator.countOf() method

1. Check whether count of first element is equal to length of list using operator.countOf()
2. If True then all elements of list are equal Display Equal
3. If False then Display Not equal

## Python3

 `# Python program to check if all``# elements in a List are same``import` `operator``res ``=` `False`  `def` `chkList(lst):``    ``if` `len``(lst) < ``0``:``        ``res ``=` `True``    ``res ``=` `operator.countOf(lst, lst[``0``]) ``=``=` `len``(lst)``    ``if``(res):``        ``print``(``"Equal"``)``    ``else``:``        ``print``(``"Not equal"``)`  `# Driver Code``lst ``=` `[``'Geeks'``, ``'Geeks'``, ``'Geeks'``, ``'Geeks'``]``chkList(lst)`

Output

`Equal`

Time Complexity: O(n) n – length of list
Auxiliary Space: O(1)

Method #9: Using  heapq module:

1. Import the heapq module.
2. Define the all_elements_same function which takes a list as an argument.
3. Use the nsmallest function from heapq to find the smallest len(lst) elements in the list and check if all the elements found are equal to the first element of the list using all() functions. If it is True, print “Equal“, else print “Not Equal“.

Below is the implementation of the above approach:

## Python3

 `# Python program for the above approach``import` `heapq` `# Function to check if all elements``# are same or not``def` `all_elements_same(lst):``    ``return` `all``(x ``=``=` `lst[``0``] ``for` `x ``in` `heapq.nsmallest(``len``(lst), lst))`  `# Driver Code``lst ``=` `[``1``, ``1``, ``1``, ``1``, ``1``]``if` `all_elements_same(lst):``    ``print``(``"Equal"``)``else``:``    ``print``(``"Not Equal"``)` `# This code is contributed by Rayudu`

Output

`Equal`

Time Complexity: The time complexity of this algorithm is O(N log N), where N is the length of the input list. This is because the nsmallest function uses a heap to find the smallest elements, which has a time complexity of O(N log N).

Space Complexity: The space complexity of this algorithm is O(N), where N is the length of the input list. This is because the nsmallest function creates a heap of size n to store the smallest elements. Additionally, the generator expression used in all functions also requires O(N) space.

My Personal Notes arrow_drop_up