Python unpack tuple – too many values to unpack

Python example to unpack tuple or sequence or iterable such that the tuple may be longer than N elements, causing a “too many values to unpack” exception.

1. Unpack tuple with arbitrary length

Python “star expressions” can be used to to unpack tuples with arbitrary length.

>>> employee = ('Lokesh', 'email@example.com', '111-222-333', '444-555-666')

>>> name, email, *phone_numbers = employee

>>> name
'Lokesh'
>>> email
'email@example.com'
>>> phone_numbers
['111-222-333', '444-555-666']
>>> *elements, end = [1,2,3,4,5,6,7,8]

>>> elements
[1,2,3,4,5,6,7]

>>> end
8

2. Unpack tuple and throw away unwanted values

Sometimes you might want to unpack values and throw them away. You can’t just specify a bare * when unpacking, but you could use a common throwaway variable name, such as “_” or ignore.

>>> record = ('Lokesh', 37, 72.45, (1, 1, 1981))

>>> name, *_, (*_, year) = record	#Only read name and year

>>> name
'Lokesh'

>>> year
1981

Happy Learning !!

Leave a Reply

0 Comments
Inline Feedbacks
View all comments

About Us

HowToDoInJava provides tutorials and how-to guides on Java and related technologies.

It also shares the best practices, algorithms & solutions, and frequently asked interview questions.