2
respostas

Diferença de métodos

Não consegui entender para que e qual a diferença na utilização de:

lista = list()

ao invés de:

lista = []

Alguém saberia explicar essas diferenças? Porque até onde entendi, os dois criam uma lista vazia. Teria algum outro motivo?

2 respostas

Oii Mateus, como você está?

Sinto muito pela demora em obter um retorno.

Apesar dos dois criarem uma lista vazia, temos uma diferença de performance entre os dois casos. Quando criamos uma lista através do objeto list demora mais tempo do que se criarmos com a notação literal [], é uma diferença pequena, mas que em cenários maiores se torna significativa.

Além disso, a maneira "Pythônica" de se criar uma lista é por meio dos colchetes. O list é muito utilizado quando precisamos converter uma determinada sequência para lista, veja:

>> print(list("Mateus"))
>> ['M', 'a', 't', 'e', 'u', 's']

Observe que cada item da sequência foi convertido para um elemento da lista através do list. Com o colchetes não conseguiríamos obter o mesmo efeito, pois ele cria uma nova lista com o membro que passamos como parâmetro dentro:

>> print(["Mateus"])
>> ['Mateus']

Qualquer dúvida estou por aqui, tá bom?

Abraços e bons estudos!

No caso, não faria diferença então a utilização do método list() ou dos colchetes na criação de uma lista vazia na assinatura do método, ou talvez seria mais interessante utilizar os colchetes, diferente da forma utilizada no vídeo. Já que a diferença está apenas na performance.