Accedi
Accedi

Come ottenere la lunghezza di una lista in Python

Come ottenere la lunghezza di una lista in Python
Hostman Team
Redattore tecnico
Programmazione Python
04.12.2025
Reading time: 3 min

Le liste in Python vengono utilizzate praticamente ovunque. In questo tutorial esamineremo quattro modi per trovare la lunghezza di una lista Python: usando funzioni integrate, la ricorsione e un ciclo. Conoscere la lunghezza di una lista è spesso necessario per iterare su di essa ed eseguire varie operazioni.

Funzione len()

len() è una funzione integrata di Python per ottenere la lunghezza di una lista. Accetta un solo argomento — la lista stessa — e restituisce un numero intero pari alla sua lunghezza. La stessa funzione funziona anche con altri oggetti iterabili, come le stringhe.

Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany"]
count = len(Country_list)

print("There are", count, "countries")

Output:

There are 4 countries

Ottenere la lunghezza di una lista con un ciclo

È possibile determinare la lunghezza di una lista in Python utilizzando un ciclo for. L’idea è attraversare l’intera lista incrementando un contatore di 1 a ogni iterazione. Inseriamo tutto questo in una funzione separata:

def list_length(list):
    counter = 0
    for i in list:
        counter = counter + 1
    return counter

Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany", "Japan"]
count = list_length(Country_list)

print("There are", count, "countries")

Output:

There are 5 countries

Ottenere la lunghezza di una lista con la ricorsione

La stessa operazione può essere eseguita tramite ricorsione:

def list_length_recursive(list):
    if not list:
        return 0
    return 1 + list_length_recursive(list[1:])

Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland"]
count = list_length_recursive(Country_list)

print("There are", count, "countries")

Output:

There are 6 countries

Come funziona. La funzione list_length_recursive() riceve una lista come input.

  • Se la lista è vuota, restituisce 0 — la lunghezza di una lista vuota.

  • Altrimenti richiama sé stessa in modo ricorsivo con l’argomento list[1:], una slice della lista originale a partire dall’indice 1 (cioè la lista senza l’elemento in posizione 0). Il risultato di tale chiamata viene sommato a 1. A ogni passo ricorsivo il valore restituito aumenta di uno mentre la lista si riduce di un elemento.

Funzione length_hint()

La funzione length_hint() si trova nel modulo operator. Questo modulo contiene funzioni analoghe agli operatori interni di Python: addizione, sottrazione, confronto e così via. length_hint() restituisce la lunghezza di oggetti iterabili come stringhe, tuple, dizionari e liste. Funziona in modo simile a len():

from operator import length_hint

Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland", "Sweden"]
count = length_hint(Country_list)

print("There are", count, "countries")

Output:

There are 7 countries

Nota che length_hint() deve essere importata prima dell’uso.

Conclusione

In questa guida abbiamo illustrato quattro modi per determinare la lunghezza di una lista in Python. A parità di condizioni, il metodo più efficiente è len(). Gli altri approcci sono principalmente giustificati quando si implementano classi personalizzate simili a una lista.

Programmazione Python
04.12.2025
Reading time: 3 min

Simili

Rete

Comprendere le richieste HTTP: struttura, metodi ed esempi

HTTP è la chiave della comunicazione su Internet. I metodi del protocollo HTTP permettono ai client di inviare richieste ai server e ai server di inviare risposte. Ogni sito web sul World Wide Web utilizza richieste HTTP, quindi è essenziale comprenderle. Questo articolo analizza il concetto di richieste HTTP, la loro struttura, i metodi più comuni e alcuni esempi pratici per comprendere meglio il funzionamento del web. Che cos’è una richiesta HTTP? Una richiesta HTTP è un messaggio in cui un client — ad esempio un browser — chiede a un host presente su un server una risorsa specifica. I client utilizzano gli URL nelle richieste HTTP per indicare al server quali risorse desiderano recuperare. Componenti di una richiesta HTTP Ogni richiesta HTTP è composta da tre parti: la request line (riga di richiesta) gli header il message body (corpo del messaggio) Request Line La request line è la prima riga di una richiesta HTTP. Serve per iniziare un’azione sul server. Indica il metodo HTTP e la versione del protocollo. Include anche un’URI o un URL. Esempio: GET /index.html HTTP/1.1 Header Gli header seguono immediatamente la request line. Forniscono informazioni aggiuntive dal client al server, come: nome dell’host informazioni sul browser (User-Agent) preferenze linguistiche tipi di contenuto accettati Il server utilizza questi dati per identificare il browser e il sistema operativo del client. Gli header HTTP sono case-sensitive e seguono la sintassi Nome: Valore. Esempio di header: Host: example.com User-Agent: Mozilla/5.0 (...) Accept: application/json, text/plain, */* Accept-Language: en-US,en;q=0.9 Accept-Encoding: gzip, deflate, br Connection: keep-alive Message Body Il corpo del messaggio è utilizzato per inviare dati al server. È facoltativo: non tutte le richieste HTTP lo includono. Tipicamente viene utilizzato con i metodi POST e PUT. Il server utilizza i dati ricevuti per processare la richiesta. Metodi HTTP comuni Una richiesta HTTP connette un client a un server per svolgere diverse operazioni: recuperare una risorsa inviare dati aggiornare contenuti eliminare risorse I metodi più diffusi sono i seguenti: GET — Recuperare risorse La richiesta GET chiede al server una risorsa. Ogni volta che visiti una pagina web, il browser invia una richiesta GET per ottenere i dati necessari. Caratteristiche: cacheable safe idempotente GET non modifica il contenuto del server, permette solo di leggerlo. POST — Inviare dati POST viene utilizzato per inviare dati al server, ad esempio quando si compila un modulo o si carica un file. Il body contiene i dati inviati. Più richieste POST identiche possono creare risorse multiple sul server. PUT — Aggiornare risorse PUT funziona in modo simile a POST, ma serve per aggiornare dati esistenti. Differenze principali: POST = crea nuovi dati PUT = aggiorna dati esistenti PUT è idempotente, quindi eseguire più volte la stessa richiesta produce sempre lo stesso risultato. DELETE — Rimuovere risorse DELETE chiede al server di eliminare una risorsa. Se l’operazione va a buon fine, il server invia una conferma. DELETE è idempotente. Che cos’è una risposta HTTP? Una risposta HTTP è il messaggio che il server invia al client dopo aver ricevuto una richiesta. Ha una struttura simile a quella della richiesta, con tre parti: status line header message body Status Line Indica: la versione HTTP utilizzata il codice di stato il messaggio corrispondente Header Contengono informazioni quali: data e ora della risposta tipo di contenuto inviato dettagli del server istruzioni di caching Message Body Contiene i dati inviati dal server, come: HTML JSON XML immagini file Codici di stato HTTP e significato I codici HTTP indicano il risultato della richiesta. Ogni codice ha tre cifre; la prima indica la categoria. Codice Descrizione 1xx Risposte informative 2xx Successo — richiesta elaborata correttamente 3xx Reindirizzamento — sono necessarie ulteriori azioni 4xx Errori lato client 5xx Errori lato server HTTP Header e la loro importanza Gli header sono fondamentali per la comunicazione client–server. Essi forniscono informazioni usate per diverse funzioni web. Identificazione dell’host Indica quale dominio è servito dal server. Caching Cache-Control e Expires gestiscono come memorizzare le risposte. Gestione dei cookie Set-Cookie e Cookie gestiscono le sessioni utente. Sicurezza Esempi: Authorization — autenticazione Content-Security-Policy — protezione contro XSS Controllo della risposta Gli header indicano se la richiesta ha avuto successo o no. Esempi pratici di richieste HTTP Questi esempi utilizzano Python e la libreria requests. GET import requests response = requests.get("https://api.example.com/data",                         params={"param1": "value1", "param2": "value2"}) print(response.status_code) print(response.json()) POST import requests url = "https://api.example.com/users" data = {     "username": "newuser",     "email": "newuser@example.com",     "password": "securepassword" } response = requests.post(url, json=data) if response.status_code == 201:     print("User created successfully:", response.json()) else:     print("Error:", response.status_code, response.text) PUT import requests url = "https://api.example.com/users/123" data = {     "username": "updateduser",     "email": "updateduser@example.com" } response = requests.put(url, json=data) if response.status_code == 200:     print("User updated successfully:", response.json()) else:     print("Error:", response.status_code, response.text) DELETE import requests url = "https://api.example.com/users/123" response = requests.delete(url) if response.status_code == 204:     print("User deleted successfully.") else:     print("Error:", response.status_code, response.text) Conclusione Le richieste HTTP svolgono un ruolo fondamentale nelle interazioni web. È quindi essenziale comprendere i vari metodi e il loro funzionamento. Scegliere il metodo più adatto garantisce una comunicazione fluida e migliora l’efficienza delle applicazioni web.
01 December 2025 · 6 min to read
Programmazione Python

Opzioni da riga di comando e analisi degli argomenti con argparse in Python

Le interfacce a riga di comando (CLI) sono uno dei modi più rapidi ed efficaci per interagire con il software. Consentono di eseguire comandi direttamente, garantendo un’esecuzione più veloce e funzionalità avanzate. Gli sviluppatori creano spesso CLI in Python per diverse applicazioni, utility e script di automazione, permettendo così di elaborare dinamicamente l’input dell’utente. È qui che entra in gioco il modulo argparse di Python. Il modulo argparse semplifica la gestione degli input da riga di comando e permette agli sviluppatori di creare strumenti interattivi e facili da usare. Essendo parte della libreria standard, consente di definire, elaborare e validare gli input senza dover scrivere logiche complesse. In questo articolo analizzeremo i concetti principali, esempi utili e funzionalità avanzate del modulo argparse per permetterti di iniziare subito a costruire strumenti CLI solidi. Come utilizzare argparse in Python per le interfacce a riga di comando Passo 1: Importare il modulo Importa il modulo nel tuo script Python: import argparse Questo abilita l’analisi degli argomenti passati dalla riga di comando. Passo 2: Creare un oggetto ArgumentParser La classe ArgumentParser è la classe più essenziale dell’API del modulo argparse. Per usarla, crea un’istanza: parser = argparse.ArgumentParser(description="A Hostman tutorial on Python argparse.") Qui: description spiega cosa fa il programma e viene mostrata quando si esegue --help. Passo 3: Aggiungere input e opzioni Definisci i parametri che il programma accetta tramite add_argument(): parser.add_argument('filename', type=str, help="Name of the file to process") parser.add_argument('--verbose', action='store_true', help="Enable verbose mode") Spiegazione: filename è obbligatorio. --verbose è opzionale e abilita la modalità dettagliata. Passo 4: Analizzare gli input dell’utente Elabora gli argomenti forniti tramite: args = parser.parse_args() I valori elaborati vengono memorizzati come attributi dell’oggetto args. Passo 5: Accedere ai dati elaborati Esempio: print(f"File to process: {args.filename}") if args.verbose:     print("Verbose mode enabled") else:     print("Verbose mode disabled") Esempi di utilizzo della CLI Elaborazione del file senza modalità verbose python3 file.py example.txt Elaborazione del file con modalità verbose python3 file.py example.txt --verbose Mostrare l’aiuto python3 file.py --help Esempi comuni di utilizzo di argparse Esempio 1: Aggiungere valori predefiniti Alcuni argomenti opzionali necessitano di valori predefiniti. In questo esempio, --timeout ha un valore predefinito di 30 secondi: import argparse parser = argparse.ArgumentParser(description="Demonstrating default argument values.") parser.add_argument('--timeout', type=int, default=30, help="Timeout in seconds (default: 30)") args = parser.parse_args() print(f"Timeout value: {args.timeout} seconds") Spiegazione Importazione del modulo Creazione dell’istanza di ArgumentParser Aggiunta dell’argomento --timeout con valore predefinito Parsing tramite parse_args() Caso 1: uso del valore predefinito python file.py Caso 2: valore personalizzato python file.py --timeout 60 Esempio 2: Utilizzare choices Il parametro choices limita un argomento a un insieme di valori validi: parser.add_argument('--mode', choices=['basic', 'advanced'], help="Choose the mode of operation") Caso 1: valore valido python3 file.py --mode basic Caso 2: nessun input python3 file.py Caso 3: valore non valido python3 file.py --mode intermediate Esempio 3: Gestire valori multipli Il parametro nargs='+' consente di accettare più valori come lista: parser.add_argument('--numbers', nargs='+', type=int, help="List of numbers to process") Caso 1: più numeri python3 file.py --numbers 10 20 30 Caso 2: un numero python3 file.py --numbers 5 Caso 3: nessun input python3 file.py Caso 4: input non valido python3 file.py --numbers 10 abc 20 Esempio 4: Argomenti opzionali obbligatori Gli argomenti opzionali (quelli che iniziano con --) non sono obbligatori per impostazione predefinita. Tuttavia, puoi renderli obbligatori usando required=True: parser.add_argument('--config', required=True, help="Path to the configuration file") Caso 1: input valido python3 file.py --config settings.json Caso 2: mancanza dell’argomento obbligatorio python3 file.py Funzionalità avanzate Flag booleani parser.add_argument('--debug', action='store_true', help="Enable debugging mode") Raggruppare argomenti correlati group = parser.add_argument_group('File Operations') group.add_argument('--input', type=str, help="Input file") group.add_argument('--output', type=str, help="Output file") Argomenti mutuamente esclusivi group = parser.add_mutually_exclusive_group() group.add_argument('--json', action='store_true', help="Output in JSON format") group.add_argument('--xml', action='store_true', help="Output in XML format") Conclusione Il modulo argparse semplifica la creazione di CLI affidabili per gestire gli argomenti passati ai programmi Python. Dalle opzioni più semplici alle funzionalità avanzate come choices e nargs, gli sviluppatori possono costruire strumenti potenti, intuitivi e facili da mantenere. Dare nomi chiari agli argomenti e scrivere descrizioni corrette rende gli script più leggibili e manutenzionabili.
25 November 2025 · 5 min to read
Programmazione Python

Come installare pip su Windows

pip è un’utilità che rende l’installazione e la gestione dei pacchetti Python un compito semplice. Dai principianti di Python agli sviluppatori esperti, avere questo strumento sul tuo computer Windows è davvero un punto di svolta. Facilita la configurazione dei framework e delle librerie essenziali per le tue esigenze di sviluppo. Automatizzare la gestione dei pacchetti con pip ti fa risparmiare tempo e riduce le complicazioni delle installazioni manuali. Segui questa guida per imparare a configurare pip e gestire i tuoi pacchetti Python in modo fluido. Procedura di configurazione di pip per Windows Ecco le linee guida per configurare pip su un computer Windows. Passaggio 1: Confermare l’installazione Verifica che Python sia operativo sul tuo dispositivo prima di iniziare la configurazione di pip. Per farlo, apri il prompt dei comandi ed esegui: python --version   Se Python non è presente sul tuo sistema, scaricalo dal sito ufficiale. Passaggio 2: Scaricare get-pip.py Il pacchetto di installazione standard di Python include automaticamente pip. Tuttavia, nel caso in cui venga rimosso accidentalmente, scarica lo script get-pip.py. Hai due opzioni: visitare la pagina web pip.py oppure usare il comando curl per un’installazione rapida: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py Nota: reinstallare Python per ottenere pip è un’altra opzione. Tuttavia, a volte ciò può causare conflitti con altre dipendenze o impostazioni. Questo script mantiene invariata la tua attuale configurazione di Python. Passaggio 3: Eseguire get-pip.py Spostati nella posizione dello script tramite il prompt dei comandi ed esegui: python get-pip.py Questo installerà pip sul tuo dispositivo senza problemi. Passaggio 4: Confermare l’installazione di pip Verifica l’installazione eseguendo: pip --version Questo comando conferma che pip è installato correttamente sul sistema. Passaggio 5: Aggiungere pip alla variabile PATH di sistema Se il comando non viene eseguito correttamente, aggiorna la variabile PATH del sistema seguendo queste istruzioni per includere pip: Fai clic con il pulsante destro su Questo PC o Il mio computer e seleziona Proprietà. Scegli Impostazioni di sistema avanzate. Seleziona Variabili d’ambiente. Nella sezione Variabili di sistema, individua la variabile Path e fai clic su Modifica. Aggiungi la directory Scripts di Python al tuo PATH di sistema, ad esempio: C:\Python39\Scripts. Metodi alternativi per installare pip su Windows Vediamo alcuni altri modi per installare facilmente pip su Windows. Tramite il modulo integrato ensurepip A partire da Python 3.4, esiste un pratico modulo integrato chiamato ensurepip. Con questo strumento, l’installazione di pip è semplificata, eliminando la necessità dello script get-pip.py. Passaggio 1: Eseguire ensurepip Inserisci il seguente comando per configurare pip: python -m ensurepip --default-pip Passaggio 2: Verificare l’installazione di pip Controlla la versione di pip con: pip --version Metodo dell’installer di Python per installare pip Assicurati di selezionare la casella di controllo per pip durante l’installazione di Python. Ecco come fare: Passaggio 1: Scaricare l’installer Apri il tuo browser preferito, vai sul sito ufficiale di Python e scarica il file di installazione più recente. Passaggio 2: Avviare l’installer Esegui il programma di installazione scaricato e assicurati di selezionare l’opzione “Add Python to PATH” durante la configurazione. Passaggio 3: Installare pip Durante la configurazione, assicurati di attivare l’opzione “Install pip”. Passaggio 4: Verificare che pip sia installato Al termine dell’installazione, controlla l’installazione di pip con: pip --version Regolare la versione di pip: aggiornamento o downgrade pip può essere regolato in base alle tue esigenze aggiornandolo o tornando a una versione precedente. Ecco come fare: Aggiornare pip Per aggiornare pip, esegui: python -m pip install --upgrade pip Eseguire il downgrade di pip Per tornare a una versione precedente di pip, usa: python -m pip install pip==<version> Sostituisci <version> con il numero di versione desiderato (ad esempio, 21.0). Risoluzione dei problemi di installazione di pip: comandi essenziali Di seguito sono riportati i problemi più comuni relativi all’installazione di pip e le loro soluzioni: Problema 1: “pip” non è riconosciuto come comando interno o esterno Soluzione: ciò significa che il percorso di pip non è impostato nella variabile PATH di sistema. Segui le istruzioni del “Passaggio 5” per risolvere il problema. Problema 2: Accesso negato Soluzione: esegui il prompt dei comandi con privilegi di amministratore facendo clic con il tasto destro sull’icona e selezionando “Esegui come amministratore”. Quindi, riesegui i comandi. Problema 3: Dipendenze mancanti Soluzione: a volte possono verificarsi errori a causa di dipendenze mancanti. Per risolvere, installa manualmente le dipendenze necessarie con pip. Ad esempio: pip install package_name Sostituisci package_name con la dipendenza corretta. Utilizzo degli ambienti virtuali L’uso degli ambienti virtuali mantiene le dipendenze separate ed evita conflitti. Ecco come usare un ambiente virtuale con pip: Creare un ambiente virtuale python -m venv env_name Sostituisci env_name con il nome desiderato per il tuo ambiente. Attivare l’ambiente virtuale env_name\Scripts\activate Comandi pip di base Ecco alcuni comandi essenziali per utilizzare pip: Installare un pacchetto pip install package_name Sostituisci package_name con il nome del pacchetto desiderato. Disinstallare un pacchetto pip uninstall package_name Mostrare i pacchetti installati pip list Mostrare le informazioni di un pacchetto pip show package_name Migliori pratiche per la gestione dei pacchetti Utilizza ambienti virtuali per gestire in modo efficiente le dipendenze in più progetti. Controlla e aggiorna regolarmente i tuoi pacchetti per garantire un funzionamento ottimale. Prepara file requirements per semplificare la gestione delle dipendenze nei tuoi progetti. Rendere sicura l’installazione di pip Garantire la sicurezza dei pacchetti gestiti da pip è fondamentale. Ecco alcuni suggerimenti per mantenere l’ambiente sicuro: Mantieni i progetti isolati per evitare conflitti e garantire installazioni sicure. Verifica l’affidabilità e l’autenticità delle fonti dei pacchetti prima di installarli. Usa sempre repository ufficiali e controlla le recensioni se disponibili. Aggiorna regolarmente pip e i tuoi pacchetti per usufruire delle ultime patch di sicurezza. Controlla periodicamente le tue dipendenze per individuare vulnerabilità note. Strumenti come pip-audit possono aiutarti a identificarle e risolverle. Segui standard di codifica sicuri ed evita pacchetti obsoleti o non sicuri. Integrazione di pip con gli IDE pip può essere facilmente integrato in vari Ambienti di Sviluppo Integrati (IDE), migliorando notevolmente la tua efficienza nello sviluppo: VS Code: utilizza il terminale integrato per eseguire i comandi pip e gestire i pacchetti direttamente dall’editor. PyCharm: semplifica la gestione dei pacchetti configurando pip tramite l’interprete del progetto. Ciò semplifica il processo di installazione e gestione dei pacchetti adattati alle esigenze specifiche del tuo progetto. Jupyter Notebook: utilizza i comandi magici all’interno dell’interfaccia del notebook per installare pacchetti direttamente. Questo offre un’esperienza fluida e integrata per gestire le dipendenze mentre lavori sui tuoi notebook interattivi.  Conclusione Windows offre diversi metodi per installare pip, a seconda delle preferenze e delle esigenze. Che tu scelga lo script .py, utilizzi il modulo integrato ensurepip o abiliti pip durante l’installazione iniziale, questi approcci garantiranno che pip sia correttamente configurato sul tuo sistema. Ricorda che mantenere pip aggiornato è essenziale per garantire la sicurezza e l’efficienza del tuo ambiente Python. Controlla regolarmente gli aggiornamenti e mantieni pip sempre aggiornato. Inoltre, sulla nostra Application Platform puoi trovare applicazioni Python come Celery, Django, FastAPI e Flask.
24 October 2025 · 7 min to read

Hai domande,
commenti o dubbi?

I nostri professionisti sono disponibili per assisterti in ogni momento,
che tu abbia bisogno di aiuto o non sappia da dove iniziare.
Inviaci un'email
Hostman's Support