assign only first few items of a tuple/list

Tim Chase python.list at tim.thechases.com
Tue Dec 4 17:48:24 EST 2012


On 12/04/12 15:36, Chris Angelico wrote:
> On Wed, Dec 5, 2012 at 8:25 AM, Daniel Fetchinson
> <fetchinson at googlemail.com> wrote:
>> Hi folks, I swear I used to know this but can't find it anywhere.
>> Say I have a list x = [ 1,2,3,4,5 ] and only care about the first two items.
>> I'd like to assign the first two items to two variables, something like,
>>
>> a, b, _ = x
>>
>> but the above will not work, of course, but what is the common idiom
>> for this that does?
> 
> Try this:
> 
> a, b, *_ = x
> 
> Assigns 1 to a, 2 to b, and [3,4,5] to _

Just to complete the picture, that's a Py3k thing.  And it only
works with finite iterables (such as lists).  In 2.x, you have to
use Terry Reedy's slicing suggestion.

-tkc






More information about the Python-list mailing list