Python – Check if a list is empty or not

23 Jun, 2022
In this article, we will learn How to check if the given list is empty or not. 
Example:
Input: ['Geeks', 'Geeks', 'Geeks', 'Geeks', ]
Output: Yes

Input: ['Geeks', 'Is', 'all', 'Same', ]
Output: No
Let’s see how we can check whether a list is empty or not, in a less pythonic way. We should avoid this way of explicitly checking for a sequence or list 
Python3
# Python code to check for empty list# Explicit way def Enquiry(lis1):    if len(lis1) == 0:        return 0    else:        return 1 # Driver Codelis1 = []if Enquiry(lis1):    print("The list is not empty")else:    print("Empty List")
Output:
Empty List
Now let’s see a more pythonic way to check for an empty list. This method of a check is an implicit way of checking and more preferable than the previous one. 
Python3
# Python code to check for empty list# IMPLICIT way or Pythonic waydef Enquiry(lis1):    if not lis1:        return 1    else:        return 0 # Driver Codelis1 = []if Enquiry(lis1):    print("The list is Empty")else:    print("The list is not empty")
Output:
The list is Empty
This is another method that allows us to determine whether a list in Python is empty. The most Pythonic method of checking the same is shown below.
Python3
list1 = {"a": 1, "b": 2, "c": 3}list2 = [] if list2:    print("list is not empty")else:    print("list is empty")
Output:
list is empty
The previous methods that we used in normal Python don’t work for the Numpythonic way. Other methods that work fine for lists or other standard containers fail for NumPy arrays. This way fails with NumPy arrays because Numpy tries to cast the array to an array of bools and if this tries to evaluate all of those bools at once for some kind of aggregate truth value, it fails so we get a ValueError. 
Python3
# Numpythonic way with the previous method# Returns ValueErrorimport numpy def Enquiry(lis1):    return(numpy.array(lis1)) # Driver Codelis1 = [0, 1]if Enquiry(lis1):    print("Not Empty")else:    print("Empty")
Output:
None
Error:
Traceback (most recent call last):
  File "/home/2d237324bb5211d7216c521441a750e9.py", line 7, in 
    if Enquiry(lis1):
ValueError: The truth value of an array with more than 
one element is ambiguous. Use a.any() or a.all()
In this example, we will see that even if the list is Not Empty, the output will show Empty. If the list contains one 0, then the if statement will incorrectly result. 
Python3
# Numpythonic way with the previous method# Returns wrong resultimport numpy  def Enquiry(lis1):    return(numpy.array(lis1))  # Driver Codelis1 = [0, ]if Enquiry(lis1):    print("Not Empty")else:    print("Empty")
Output:
Empty
If we have a NumPy array then the correct method in all cases is to use if .size. This size checks the size of the arrays and returns True or False accordingly. Example: 
Python3
# Numpythonic way to check emptiness# Use of sizeimport numpy def Enquiry(lis1):    return(numpy.array(lis1))  # Driver Codelis1 = []if Enquiry(lis1).size:    print("Not Empty")else:    print("Empty")
Output:
Empty
This example shows the other case with a single 0 element, which failed in the previous cases. 
Python3
# Numpythonic way to check emptiness# Use of sizeimport numpy def Enquiry(lis1):    return(numpy.array(lis1)) # Driver Codelis1 = [0, ]if Enquiry(lis1).size:    print("Not Empty")else:    print("Empty")
Output:
Not Empty
surajkumarguptaintern
Python list-programs
python-list
Python
python-list
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Different ways to create Pandas Dataframe
Read a file line by line in Python
How to Install PIP on Windows ?
Python String | replace()
*args and **kwargs in Python
Python Classes and Objects
Python OOPs Concepts
Introduction To PYTHON
Python | os.path.join() method