Chalarangelo/30-seconds-of-code

View on GitHub
content/snippets/python/s/empty-list.md

Summary

Maintainability
Test Coverage
---
title: How can I check if a Python list is empty?
shortTitle: Empty list
type: question
language: python
tags: [list]
cover: salad-2
excerpt: There's a good way to test the emptiness of a Python list and a better one. Which one are you using?
listed: false
dateModified: 2023-01-15
---

Checking the emptiness of a Python list is rather easy using the `len()` function. Yet, there's another technique that works on all types of sequences and collections. This is based on the **truth value testing** of the sequence or collection itself.

By default, a Python object is considered truthy unless its class defines either a `__bool__()` or a `__len__()` method that returns `False` or `0` respectively. Python's built-in objects, such as tuples, lists, strings, dictioners, sets and ranges all implement a `__len__()` method. This menas that truth value testing of these objects will return `False` if they are empty, and `True` otherwise.

Based on these observations, all you need to check if a Python list is empty is to test its truth value, using the `not` operator.

```py
x = []
not x # True

y = [1, 2]
not y # False
```