Como verificar se uma lista está vazia em Python (valores verdade python)

Aprenda as maneiras mais pitônicas de verificar se uma lista está vazia em Python. Compare verificações booleanas implícitas com comparações de comprimento.

Experimente esta solução no Editor

Visão geral

No desenvolvimento em Python, você frequentemente precisará verificar se uma lista contém elementos antes de tentar ler, modificar ou processar seu conteúdo. Acessar elementos de uma lista vazia usando colchetes (por exemplo, `my_list[0]`) gera um `IndexError`, que interrompe a execução do programa. Portanto, implementar padrões de verificação limpos e defensivos é essencial para a estabilidade do aplicativo.

A maneira mais pitônica de verificar se uma lista está vazia é usando seu valor booleano implícito (veracidade). Em Python, coleções vazias (incluindo listas, dicionários, tuplas e conjuntos) são avaliadas como `False` em um contexto booleano, enquanto coleções preenchidas são avaliadas como `True`. Escrever `if not my_list:` é direto, altamente legível e está em conformidade com as diretrizes PEP 8.

Embora comparar o comprimento da lista com zero (por exemplo, `if len(my_list) == 0:`) ou comparar a lista diretamente com uma lista literal vazia (por exemplo, `if my_list == []:`) também funcione, essas abordagens geralmente são desencorajadas porque são menos concisas e podem ser um pouco mais lentas. Adotar o teste de valor verdade integrado do Python torna seu código mais limpo e eficiente.

Saída de código e execução

Este script mostra diferentes métodos para verificar se uma lista está vazia em Python.

empty_list_check.py
Experimente no Editor
empty_list = []
full_list = [10, 20, 30]

# Method 1: The Pythonic Way (Implicit boolean check)
if not empty_list:
    print("empty_list is indeed empty!")

if full_list:
    print("full_list has elements inside!")

# Method 2: Length comparison (Less Pythonic, but functional)
if len(empty_list) == 0:
    print("Length of empty_list is 0.")
Saída terminal
empty_list is indeed empty!
full_list has elements inside!
Length of empty_list is 0.

Implementação passo a passo

  • Escreva if not my_list: para verificar se a lista está vazia (abordagem mais pitônica).
  • Escreva if my_list: para verificar se a lista contém um ou mais elementos.
  • Evite usar len(my_list) == 0 ou my_list == [] para verificar o vazio.

Perguntas frequentes

Por que 'if not my_list' é preferido em vez de 'if len(my_list) == 0'?

É mais legível, idiomático e um pouco mais rápido porque evita invocar a pesquisa da função len() e a comparação de inteiros.

Essa verificação funciona para outras coleções, como dicionários ou tuplas?

Sim, exatamente a mesma regra de veracidade se aplica a dictos vazios ({}), tuplas vazias (()), conjuntos vazios (set()) e strings vazias ("").

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.