Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Explicação do código

Pessoal, eu estava tentando fazer com que uma list fosse dividida em "grupos", por exemplo: tenho 8 nomes na minha list, o usuário informa que a quantidade de grupos é 2, então eu iria criar dois grupos com 4 nomes em cada. Dando uma procurada na internet, eu consegui adaptar um código para o meu problema, funcionou perfeitamente, porém queria uma explicação de como o código funciona:

list_comprehensions = [names_split[i:i+int(qtd_in_groups)] for i in range(0, names_len, qtd_in_groups)]

O problema está entender o que seria "i:i+int..."

Desde já agradeço.

1 resposta
solução!

Olá Giovani, bom dia!

Essa notação é para fatiamento de listas. A parte da documetação oficial que trata de estruturas de dados e operações de sequências é esta aqui.

Como dito na documentação, se s é uma sequência (por exemplo, uma lista), a operação s[i:j] representa a "fatia" de s de i até j, exemplo:

lista = [1, 2, 3, 4, 5, 6, 7, 8]
print(lista[1:4])

saída:

[2, 3, 4]

Obs.: note que o valor de j não é incluso.

Espero ter ajudado e bons estudos!