Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Schemi Avanzati di Packing e Unpacking | Packing e Unpacking in Python
Concetti di Programmazione Funzionale in Python

bookSchemi Avanzati di Packing e Unpacking

Scorri per mostrare il menu

L'unpacking esteso in Python consente di acquisire più elementi da una sequenza in un'unica variabile utilizzando l'operatore *. Questa tecnica è particolarmente utile quando si desidera assegnare il primo e l'ultimo elemento a variabili specifiche e raccogliere gli elementi rimanenti intermedi.

Note
Nota

L'operatore * indica a Python di raccogliere tutti gli elementi rimanenti che non sono stati assegnati ad altre variabili.

123456
numbers = [1, 2, 3, 4, 5] first_val, *middle_vals, last_val = numbers print("first_val:", first_val) print("*middle_vals:", middle_vals) print("last_val:", last_val)
copy

In questo caso *middle_vals cattura tutti gli elementi tra il primo e l'ultimo, quindi middle_vals diventa [2, 3, 4].

Nell'assegnazione:

a, *b, c = [1, 2, 3, 4, 5]

  • La variabile a riceve il primo valore;
  • c riceve l'ultimo;
  • b raccoglie tutti i valori intermedi.

Questo approccio rende il codice più flessibile ed espressivo, soprattutto quando si lavora con sequenze di lunghezza sconosciuta o variabile. L'unpacking esteso non è limitato alle liste; funziona con qualsiasi iterabile, inclusi tuple e persino stringhe. Padroneggiando questi schemi, è possibile scrivere codice più pulito e leggibile che si adatta facilmente ai cambiamenti nella struttura dei dati.

question mark

Cosa cattura la variabile *c nell'assegnazione a, b, *c = [1, 2, 3, 4, 5]?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 5

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 1. Capitolo 5
some-alt