Neste artigo, iremos discutir diferentes formas de verificar se uma lista está vazia ou não. Veremos também como verificar se uma lista está vazia ou não utilizando a função loop, List comprehension, and all().
Table of Contents
- Cheque se uma lista está vazia utilizando o operador ‘not’ em python
- Cheque se a lista está vazia utilizando a função len()
- Python: Verifique se a lista está vazia comparando com a lista vazia
- Cheque se uma lista de listas está vazia usando List comprehension
li>Verifica se a lista está vazia utilizando __len__()li>Verifica se a lista está vazia utilizando numpyli>Verifica se a lista está vazia utilizando numpyLi>Verifica se a lista está vazia utilizando __len__()Li>Verifica se a lista está vazia utilizando numpyLi>Verifica se a lista está vazia empty using for loop
Cheque se uma lista está vazia usando o operador ‘not’ em python
In python, um objecto sequencial pode ser implicitamente convertível em bool. Se a sequência estiver vazia, então avalia para Falso, avalia para Verdadeiro. Assim, podemos aplicar uma declaração if a um objecto de sequência para verificar se está vazio ou não.
Ao aplicar uma declaração if ao objecto de lista, podemos verificar se está vazio pr não. Por exemplo,
# Create an empty listlist_of_num = # Empty list object will evaluate to Falseif not list_of_num: print('List is empty')else: print('List is not empty')
Output:
List is empty
Como funcionou?
Quando ‘if statement’ é aplicado a uma lista, avalia para Falso se a lista está vazia, caso contrário avalia para Verdadeiro. Se aplicarmos o operador ‘não’ juntamente com ‘se declaração’ ao objecto da lista, este avalia para Verdadeiro se a lista estiver vazia, caso contrário, avalia para Falso.
Verifica se a lista está vazia usando a função len()
Python fornece uma função len(),
len(sequence)
Aceita uma sequência como uma lista, tuple ou set, etc, e retorna o número de elementos nessa sequência, ou seja tamanho da sequência.
Podemos verificar o tamanho da lista passando o objecto da lista para a função len(). Assim que tivermos o tamanho da lista, podemos confirmar se uma lista está vazia verificando se o seu tamanho é 0. Por exemplo,
# Create an empty listlist_of_num = # Check if list's size is 0if len(list_of_num) == 0: print('List is empty')else: print('List is not empty')
Output:
List is empty
Python: Verificar se a lista está vazia comparando com a lista vazia
Em python, os parênteses rectos vazios apontam para a lista vazia. Assim, podemos verificar se o nosso objecto de lista está vazio ou não apenas comparando-o com i.e.
# Create an empty listlist_of_num = # Check if list object points to literal if list_of_num == : print('List is empty')else: print('List is not empty')
Output:
List is empty
Esta não é a abordagem mais rápida, porque primeiro será criado um objecto de lista vazia e depois será feita a comparação.
Verifica se a lista está vazia usando __len__()
Classe da lista tem um método especial sobrecarregado,
list.__len__()
Devolve o número de elementos da lista. Podemos verificar o tamanho de uma lista, chamando a função __len__() no objecto da lista. Assim que tivermos o tamanho da lista, podemos confirmar se uma lista está vazia, verificando se o seu tamanho é 0. Por exemplo,
# Create an empty listlist_of_num = # Check if list's size is 0if list_of_num.__len__() == 0: print('List is empty')else: print('List is not empty')
Output:
List is empty
Verifica se uma lista está vazia usando numpy
Converte uma lista Python para um array numpy e depois verifique o tamanho do array numpy usando o tamanho do atributo. Se o tamanho da matriz numérica for zeo então significa que a lista está vazia. Por exemplo,
import numpy as np# Create an empty listlist_of_num = arr = np.array(list_of_num)if arr.size == 0: print('List is empty')else: print('List is not empty')
Saída:
List is empty
Cheque se uma lista de listas está vazia
Pode haver cenários quando temos uma lista de listas, e queremos descobrir se todas as sub-listas estão vazias. Há diferentes maneiras de o fazer. Vamos discuti-las uma a uma.
Verifica se uma lista de listas está vazia usando para loop
Criámos uma função que aceita uma lista de listas e verifica se todas as sub-listas na lista dada estão vazias ou não. Vamos utilizar esta função para verificar se todas as listas de uma lista estão vazias ou não.
def check_if_empty(list_of_lists): for elem in list_of_lists: if elem: return False return True# List of listlist_of_lists = , , , ]if check_if_empty(list_of_lists): print('List of Lists is empty')else: print('List of Lists is not empty')
Output:
List of Lists is empty
Esta função check_if_empty() aceita uma lista de listas, depois itera sobre todas as sub-listas da lista principal usando para loop, e para cada sub-lista, verifica se está vazia ou não usando ‘if condition’ & ‘not operator’. Se qualquer uma das sub-listas não estiver vazia, retorna Falso, enquanto que se todas as sub-listas estiverem vazias, retorna Verdadeiro.
Verifica se uma lista de listas está vazia usando Compreensão da Lista
Não como a solução anterior, aqui vamos verificar se todas as sub-listas numa dada lista estão vazias ou não numa única como usando Compreensão da Lista e função all().
def check_if_empty_2(list_of_lists): return all()# List of listlist_of_lists = , , , ]if check_if_empty_2(list_of_lists): print('List of Lists is empty')else: print('List of Lists is not empty')
Output:
List of Lists is empty
List comprehension retornou uma lista de bools, onde cada entrada nesta lista booleana representa a sublista da lista principal. Se uma sub-lista estava vazia, então a entrada correspondente nesta lista de bool será True else False.
Então passamos esta lista de bool para a função all() para verificar se todos os elementos desta lista de bool são True ou não. Se todos os elementos da lista de bool são Verdadeiro, então significa que todas as sub-listas da lista principal estão vazias.
Sumário
Discutimos diferentes formas de verificar se uma lista está vazia ou não. Depois analisámos também as técnicas para verificar se uma lista contém todas as listas vazias ou não.