Neste post, veremos como criar uma lista vazia com tamanho dado em Python.
A fim de atribuir qualquer valor a uma lista utilizando o operador de atribuição na posição i, a = x
, o tamanho da lista deve ser pelo menos i+1
. Caso contrário, aumentará um IndexError
, como se mostra abaixo:
1
2
3
4
5
|
A solução é criar uma lista vazia de None
quando os itens da lista não são conhecidos antecipadamente. Isto pode ser facilmente feito como se mostra abaixo –
1
2
3
4
|
a = * 5
print(a)
# prints
|
Acima do código irá criar uma lista de tamanho 5
, onde cada posição é inicializada por None
None
é frequentemente usado em python para representar a ausência de um valor.
Outra alternativa para criar listas vazias com determinado tamanho é utilizar compreensões de listas:
1
2
3
4
|
Que solução utilizar?
A primeira solução funciona bem para tipos sem referência como números. Mas pode encontrar erros de referenciação em alguns casos. Por exemplo, ] * 5
resultará na repetição da lista contendo o mesmo objecto de lista 5
vezes.
1
2
3
4
5
|
a = ] * 5
a.append(1)
print(a)
# prints , , , , , , ]
|
A solução para este problema é utilizar compreensões de lista como esta:
1
2
3
4
5
|
a = para x no intervalo(5)]
a.append(1)
print(a)
# prints , , , , ]
|