na função zip () combina elementos de múltiplos iterables em um único iterável de tuplas. Quando usado com o zip de sintaxe ( [iter (s)] n), ele oferece uma maneira conveniente de dividir uma lista em pedaços de tamanho igual.
como funciona:
The Expression [ITER (s)] n cria uma lista contendo n cópias do iterador sobre a lista S. Cada cópia do iterador começa no início da lista. O *Args descompacta a lista em argumentos para zip (), resultando em n iteráveis sendo passados para a função. (
[ITER (s)]n) com código verbose: def verbose_chunk (s, n): "" "" Retorna uma lista de pedaços de tamanho igual de uma lista. "" " CHUNCS = [] para i no intervalo (n): Chunk = [] para j em range (len (s) // n): Chunk.append (Próximo (ITER (s))) blocos.append (tupla (pedaço)) Retorne chunks
este código primeiro itera o número desejado de chunks. Para cada pedaço, ele usa um loop aninhado para iterar sobre os elementos da lista e adicioná -los ao pedaço. O pedaço é então convertido em uma tupla e adicionado à lista de pedaços. , 7,8,9] n = 3 Print (Lista (ZIP (*[ITER (S)]*N))) # [(1,2,3), (4,5,6), (7,8,9)] print (verbose_chunk (s, n)) # [(1,2,3), (4,5,6), (7,8,9)] ambas as abordagens produzem o mesmo resultado, com o concisa zip (
[ITER (s)]def verbose_chunk(s, n): """Returns a list of chunks of equal size from a list.""" chunks = [] for i in range(n): chunk = [] for j in range(len(s) // n): chunk.append(next(iter(s))) chunks.append(tuple(chunk)) return chunks
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3