/ / Come posso decomprimere una lista con meno variabili? - python

Come posso decomprimere una lista con meno variabili? - python

k = [u"query_urls", u""kick"", u""00"", u"msg=1212", u"id=11"]

>>> name, view, id, tokens = k
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack

Devo fornire 5 variabili per decomprimere questo elenco. C'è un modo per disfare i bagagli con meno, in modo che tokens ottiene il resto della lista. Non voglio scrivere un'altra riga da aggiungere a una lista ....

Grazie.


Ovviamente posso tagliare una lista, assegnarla individualmente, ecc. Ma voglio sapere come fare ciò che voglio usando la sintassi sopra.

risposte:

27 per risposta № 1

In Python 3 puoi farlo: (edit: questo è chiamato esteso disimballaggio iterabile)

name, view, id, *tokens = k

In Python 2, dovrai farlo:

(name, view, id), tokens = k[:3], k[3:]