Tutorial de lista vazia do Python - como criar uma lista vazia em Python

Se você deseja aprender como criar uma lista vazia em Python com eficiência, este artigo é para você.

Você vai aprender:

  • Como criar uma lista vazia usando colchetes [].
  • Como criar uma lista vazia usando list().
  • Seus casos de uso.
  • Como eles são eficientes (um é mais rápido do que o outro!). Usaremos o timeitmódulo para compará-los.

Vamos começar! ✨

? Usando colchetes

Você pode criar uma lista vazia com um par vazio de colchetes, como este:  

? Dica: Atribuímos a lista vazia a uma variável para usá-la posteriormente em nosso programa.

Por exemplo:

num = []

A lista vazia terá comprimento 0, como você pode ver aqui:

>>> num = [] >>> len(num) 0

Listas vazias são valores falsos , o que significa que avaliam Falseem um contexto booleano:

>>> num = [] >>> bool(num) False

Adicionar elementos a uma lista vazia

Você pode adicionar elementos a uma lista vazia usando os métodos append()e insert():

  • append() adiciona o elemento ao final da lista.
  • insert() adiciona o elemento no índice específico da lista que você escolher.

Como as listas podem ter valores verdadeiros ou falsos, dependendo de estarem vazias ou não quando são avaliadas, você pode usá-las em condicionais como este:

if num: print("This list is not empty") else: print("This list is empty")

A saída deste código é:

This list is empty

Como a lista estava vazia, ela é avaliada como False.

Em geral:

  • Se a lista não estiver vazia, ela avalia para True, portanto, a cláusula if é executada.
  • Se a lista estiver vazia, ela será avaliada como False, portanto, a cláusula else é executada.

Exemplo:

No exemplo abaixo, criamos uma lista vazia e a atribuímos à variável num. Em seguida, usando um loop for, adicionamos uma sequência de elementos (inteiros) à lista que estava inicialmente vazia:

>>> num = [] >>> for i in range(3, 15, 2): num.append(i)

Verificamos o valor da variável para ver se os itens foram acrescentados com sucesso e confirmamos que a lista não está mais vazia:  

>>> num [3, 5, 7, 9, 11, 13]

? Dica: normalmente usamos append()para adicionar o primeiro elemento a uma lista vazia, mas você também pode adicionar este elemento chamando o insert()método com índice 0:

>>> num = [] >>> num.insert(0, 1.5) # add the float 1.5 at index 0 >>> num [1.5]

? Usando o construtor list ()

Como alternativa, você pode criar uma lista vazia com o construtor de tipo list(), que cria um novo objeto de lista.

De acordo com a documentação do Python:

Se nenhum argumento for fornecido, o construtor cria uma nova lista vazia [],.

? Dica: Isso cria um novo objeto de lista na memória e, como não passamos nenhum argumento para list(), uma lista vazia será criada.

Por exemplo:

num = list()

Esta lista vazia terá comprimento 0, como você pode ver aqui:

>>> num = list() >>> len(num) 0

E é um valor falso quando está vazio (avalia como Falseem um contexto booleano):

>>> num = list() >>> bool(num) False

Exemplo:

Esta é uma lista totalmente funcional, então podemos adicionar elementos a ela:

>>> num = list() >>> for i in range(3, 15, 2): num.append(i)

E o resultado será uma lista não vazia, como você pode ver aqui:

>>> num [3, 5, 7, 9, 11, 13]

? Casos de uso

  • Normalmente usamos list()para criar listas de iteráveis ​​existentes, como strings, dicionários ou tuplas.
  • Você normalmente verá colchetes []sendo usados ​​para criar listas vazias em Python porque essa sintaxe é mais concisa e rápida.

? Eficiência

Esperar! Eu acabei de dizer que []é mais rápido que list()...

Mas quanto mais rápido?

Vamos verificar suas eficiências de tempo usando o módulo timeit .

Para usar este módulo em seu programa Python, você precisa importá-lo:

>>> import timeit

Especificamente, usaremos a função timeit deste módulo, que você pode chamar com esta sintaxe:

? Dica: O código é repetido várias vezes para reduzir as diferenças de tempo que podem surgir de fatores externos, como outros processos que podem estar em execução naquele momento específico. Isso torna os resultados mais confiáveis ​​para fins de comparação.

? Em suas marcas ... prepare-se ... prepare-se! Aqui está o código e a saída:

Primeiro, importamos o módulo.

>>> import timeit

Em seguida, começamos a testar cada sintaxe.

Teste []:

>>> timeit.timeit('[]', number=10**4) 0.0008467000000109692

Teste list():

>>> timeit.timeit('list()', number=10**4) 0.002867799999989984

? Dica: Observe que o código que você deseja cronometrar deve estar entre aspas simples ''ou duplas "". O tempo retornado pela timeitfunção é expresso em segundos.

Compare estes resultados:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

Você pode ver que []é muito mais rápido do que list(). Houve uma diferença de aproximadamente 0.002segundos neste teste:

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Tenho certeza de que você deve estar se perguntando isso agora: por que é list()menos eficiente do que []se eles fizessem exatamente a mesma coisa?

Bem ... list()é mais lento porque requer pesquisar o nome da função, chamá-la e, em seguida, criar o objeto de lista na memória. Em contraste, []é como um "atalho" que não requer tantas etapas intermediárias para criar a lista na memória.

Esta diferença de tempo não afetará muito o desempenho do seu programa, mas é bom saber qual é o mais eficiente e como eles funcionam nos bastidores.

? Em resumo

Você pode criar uma lista vazia usando um par vazio de colchetes []ou o construtor de tipo list(), uma função interna que cria uma lista vazia quando nenhum argumento é passado.

Colchetes []são comumente usados ​​em Python para criar listas vazias porque são mais rápidos e concisos.

Eu realmente espero que você tenha gostado do meu artigo e considerado útil. Agora você pode criar listas vazias em seus projetos Python. Confira meus cursos online. Siga me no twitter. ⭐️

Se você quiser se aprofundar nas listas, pode gostar de ler:

  • Python List Append - Como adicionar um elemento a um array, explicado com exemplos
  • O método Python Sort List Array - Crescente e Decrescente explicado com exemplos
  • Python List Append VS Python List Extend - A diferença explicada com exemplos de métodos de array