Vai al contenuto principale

Liste: blocchi di dimensione N

In questo tutorial lavorerai con le liste e imparerai un modo efficiente per dividere liste di dimensioni arbitrarie in blocchi di una dimensione specifica.
Aggiornato 29 set 2026  · 5 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Le liste sono strutture dati integrate in Python che memorizzano elementi eterogenei e consentono di accedervi in modo efficiente. Il compito di dividere le liste in blocchi di dimensione N è una pratica diffusa quando c’è un limite al numero di elementi che il tuo programma può gestire in una singola richiesta.

Liste

Le liste sono strutture dati che possono contenere al proprio interno valori o elementi di tipi diversi. Esempi di elementi sono interi, float, stringhe, ecc. Le liste sono mutabili, il che significa che puoi modificarne il contenuto senza cambiarne l’identità. Si scrivono con parentesi quadre [ ] e gli elementi al loro interno sono separati da una virgola (,). Creiamo una lista di numeri su cui lavorare...

# Creating a list of 95 numbers
list_numbers = list(range(1, 96))
print(list_numbers)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95]

La funzione range() genera una lista di numeri. Ha la forma: range([start], stop[, step]), dove "start" e "step" sono parametri facoltativi. start è il numero iniziale della sequenza, stop è il numero fino al quale vengono generati i valori, ma non incluso. step è la differenza tra ciascun numero nella sequenza. Questa funzione è indicizzata da 0, il che significa che gli indici della lista partono da 0, non da 1, quando lo start non è specificato.

Ora, supponiamo che tu debba suddividere la lista in liste più piccole, ognuna con 5 elementi.

Un modo per farlo è definire un generatore. Un generatore è un modo elegante per definire un iteratore. Cos’è un iteratore, ti chiedi? In parole semplici, un iteratore è un oggetto che sa come calcolare e restituire l’elemento successivo dell’oggetto che stai iterando. Puoi leggere di più su iteratori e generatori nel tutorial sugli iteratori in Python di DataCamp.

Definiamo una funzione che contiene il generatore che fa effettivamente il lavoro per noi.

 # Yields successive 'n' sized chunks from list 'list_name'
def create_chunks(list_name, n):
    for i in range(0, len(list_name), n):
        yield list_name[i:i + n]

# Call the 'create_chunks' function to divide the list further into sub-lists of 10 items each
print(list(create_chunks(list_numbers, 10)))

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], [41, 42, 43, 44, 45, 46, 47, 48, 49, 50], [51, 52, 53, 54, 55, 56, 57, 58, 59, 60], [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], [71, 72, 73, 74, 75, 76, 77, 78, 79, 80], [81, 82, 83, 84, 85, 86, 87, 88, 89, 90], [91, 92, 93, 94, 95]]

Un altro modo per ottenere lo stesso risultato è usare semplicemente la list comprehension. Puoi approfondire nel tutorial sulla list comprehension in Python di DataCamp.

print([list_numbers[i: i+10] for i in range(0, len(list_numbers), 10)])

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], [41, 42, 43, 44, 45, 46, 47, 48, 49, 50], [51, 52, 53, 54, 55, 56, 57, 58, 59, 60], [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], [71, 72, 73, 74, 75, 76, 77, 78, 79, 80], [81, 82, 83, 84, 85, 86, 87, 88, 89, 90], [91, 92, 93, 94, 95]]

Man mano che il problema si complica, le espressioni di list comprehension possono diventare sempre più difficili da capire e da debug. Per questo, scrivere una funzione pulita come quella con il generatore può essere più utile e facile da gestire.

In questo tutorial hai visto due modi per risolvere un problema piuttosto frequente quando si lavora con le liste. Dai un’occhiata al corso Data Types for Data Science di DataCamp.

Argomenti
Data Science
Python

Corsi Python

Corso

Introduzione a Python

4 ore
7.1M
Impara le basi dell’analisi dei dati con Python in sole 4 ore. Questo corso online ti introduce all’interfaccia di Python e ai pacchetti più usati.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro