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
Aby rozpakować tę listę, muszę podać 5 zmiennych. Czy istnieje sposób na rozpakowanie z mniejszą ilością, więc tokens
dostaje resztę listy. Nie chcę napisać kolejnej linii do dołączenia do listy ....
Dzięki.
Oczywiście mogę wyciąć listę, przypisać indywidualnie, itp. Ale chcę wiedzieć, jak zrobić to, co chcę, używając powyższej składni.
Odpowiedzi:
27 dla odpowiedzi nr 1W Pythonie 3 możesz to zrobić: (edit: to się nazywa rozszerzone iterowalne rozpakowywanie)
name, view, id, *tokens = k
W Pythonie 2 będziesz musiał to zrobić:
(name, view, id), tokens = k[:3], k[3:]