On 10/16/18 1:06 PM, Alessandro Dentella wrote: > mi sono accorto dopo tanti anni di uso di Python di non avere idea di > questa sintassi: > > [tmp_loc] = glob.glob(os.path.join(tmp_dest, '*')) > > che trovate usata qui: > > #L1740 > > Che cosa fa? che senso ha usarla quando mi vengono in mente vari altri > modi di ottenere quello che (forse, penso) faccia. > > Soprattutto, quella riga st creandomi problemi... > > Chi mi sa illuminare? > Può servire ad estrarre da un iterabile/lista/tupla una sequenza di valori, generando un errore in caso di discordanza nel numero di elementi o se l'operando a destra non è un iterabile:
>>> [a] = 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not iterable >>> [a] = 1, >>> a 1 >>> [a] = 1, 2 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: too many values to unpack >>> [a] = [] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: need more than 0 values to unpack Credo sia equivalente alla sintassi con parentesi tonde, o a quella con virgole, usata solitamente per il doppio assegnamento: >>> a, b = [4, 5] >>> a, b (4, 5) >>> a, = [6] >>> a 6 Ciao Davide _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python