English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Problema risolto
Occorre esportare gli elementi dell'array (list) o del tuple (tuple) in N variabili.
Soluzione al problema
Ogni sequenza può essere assegnata ai rispettivi variabili degli elementi tramite un semplice metodo di assegnazione delle variabili, l'unica richiesta è che il numero e la struttura delle variabili devono essere completamente identici alla struttura della sequenza.
p = (1, 2) x, y = p # x = 1 # y = 2 dati = ['google', 100.1, (2016, 5, 31)] name, price, date = data # nome = 'google' # prezzo = 100.1 # data = (2016, 5, 31) nome, prezzo, (anno, mese, giorno) = dati # nome = 'google' # prezzo = 100.1 # anno = 2016 # mese = 5 # giorno = 31
Se la struttura delle variabili non corrisponde alla struttura degli elementi, incontrerai gli errori seguenti:
p = (1, 2) x, y, z = p Traceback (chiamata più recente in alto): File "<pyshell#12>", riga 1, in <modulo> x, y, z = p ValueError: non ci sono abbastanza valori da srotolare (attesi 3, trovati 2)
Questa operazione non è limitata ai tuple e agli array, può essere utilizzata anche nelle stringhe. L'unpacking supporta la maggior parte delle sequenze comuni che utilizziamo, come iteratori di file, vari generatori, ecc.
s = 'Hello' a, b, c, d, e = s # a = 'H' # b = 'e'
Se durante il processo di esportazione desideri scartare alcuni elementi, Python non supporta un tale sintassi, ma puoi specificare alcune variabili non comuni per raggiungere il tuo obiettivo.
dati = ['google', 100.1, (2016, 5, 31)] nome, _, (_, mese, _) = dati # nome = 'google' # mese = '5' # altri campi verranno scartati
Sommario
Questo è tutto il contenuto dell'articolo, spero che il contenuto di questo articolo possa essere di aiuto per lo studio o il lavoro di tutti. Se avete domande, potete lasciare un messaggio di discussione, grazie per il supporto di Guida a URL.