Melhor resposta
Aqui está uma função para verificar se uma string é vazio:
def is\_empty(string):
return not string.strip()
Sequências vazias são falsas e avaliadas como falsas em um contexto booleano. Você pode usar isso para verificar se uma string está vazia ou não. Remova os espaços em branco primeiro para que se a string contiver apenas espaços em branco, eles serão removidos e a string será nula, avaliando como False. Você pode remover o método strip () se não quiser que strings com apenas espaços em branco sejam consideradas vazias.
Exemplo de uso:
print(is\_empty("")) # Empty string.
print(is\_empty(" ")) # String with only a space char.
print(is\_empty("Hello!")) # String with actual characters.
Resultado:
Verdadeiro
Verdadeiro
Falso
Observação: Seja explícito e use bool () em a função se você também precisar passar outras coisas além de strings para a função.
Resposta
Vou assumir que você está falando sobre listas (Python tem matrizes , mas são muito diferentes das listas).
Três maneiras:
1 Teste a veracidade
Se você sabe que o item é uma lista, você sabe:
if not my\_list:
print(‘List is empty’)
Contêineres vazios (listas, conjuntos, tuplas, dicts) são avaliados como falsos
2 Teste contra um em lista de pty
if my\_list == []:
print(‘List is empty’)
3 Teste o comprimento
if len(my\_list) == 0:
print(‘List is empty’)
Das três opções, a primeira é considerada a mais limpa
Adicional:
Se você está testando sua lista antes de tentar usá-la, a melhor maneira de fazer isso é não se preocupar e simplesmente usar a lista e detectar os erros:
try:
customer = customer\_list[customer\_number]
except IndexError:
print(‘List is empty or {customer\_number} doesn’t exist’)
Pegar o erro assim é considerado melhor do que testar explicitamente o vazio. É um dos princípios do Python chamado EAFP: mais fácil pedir perdão do que permissão.
Observações sobre matrizes numpy.
O Numpy não segue necessariamente os mecanismos acima – por exemplo, o método 1 gera um erro e o método 3 acima deve ser the\_array.size == 0
por exemplo.