Olá pessoal.
Não entendi muito bem porque utilizar range(len) no caso abaixo:
cadastro = {chave: valor for item in range(len(coluna))}
Por que não é possível utilizar apenas o len?
Quando utilizar devorange(len)juntos?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá pessoal.
Não entendi muito bem porque utilizar range(len) no caso abaixo:
cadastro = {chave: valor for item in range(len(coluna))}
Por que não é possível utilizar apenas o len?
Quando utilizar devorange(len)juntos?
Olá Gabriel!
A utilização do range(len) no exemplo que você mencionou está relacionada ao fato de que o range é uma função que retorna uma sequência de números. No caso específico do range(len), ele retorna uma sequência de números que vai de 0 até o valor de len, que é o tamanho da lista ou do objeto que você está percorrendo.
No exemplo que você citou, o range(len(coluna)) está sendo utilizado para criar um dicionário chamado cadastro, onde as chaves são os números retornados pelo range e os valores são definidos pelo loop for.
Se você utilizar apenas o len, estará obtendo apenas o tamanho da lista ou do objeto, mas não uma sequência de números que vai de 0 até esse tamanho. Portanto, não seria possível utilizar apenas o len nesse caso.
Agora, nem sempre é necessário utilizar o range(len) juntos. Isso vai depender do que você precisa fazer no seu código. Em alguns casos, você pode precisar apenas do tamanho da lista ou do objeto, sem a necessidade de percorrer cada um dos elementos. Nesses casos, você pode utilizar apenas o len.
Porém, se você precisa percorrer cada um dos elementos e também precisa saber a posição de cada um deles, aí sim é necessário utilizar o range(len) para obter essa sequência de números.
Espero ter ajudado e bons estudos!