Something similar to Noufal's but with out using itertools...

>>> s=(1,2,3,4)
>>> a,b,c,d = s + (None,)*(4-len(s))
>>> print a,b,c,d
1 2 3 4
>>> s=(1,)
>>> a,b,c,d = s + (None,)*(4-len(s))
>>> print a,b,c,d
1 None None None

Regards
Veerabahu

On Sat, Oct 6, 2012 at 4:17 PM, Noufal Ibrahim <nou...@nibrahim.net.in>wrote:

> Saju M <sajup...@gmail.com> writes:
>
> > Hi,
> >
> > I am using python 2.6.
> >
> > I need a way to make following code working without any ValueError .
> >>>> a, b, c, d = (1,2,3,4)
> >>>> a, b, c, d = (1,2,3).
>
> This is crude but fun. I wouldn't do it in anything serious program though.
>
> > import itertools
> >
> > a, b, c, d = list(itertools.chain(input_tuple, itertools.repeat(None,
> 4)))[:4]
>
> If your input tuple has 4 values, you'll get them in the 4 variables.
>
> If your input tuple has less (say 3), you'll get a, b and c. d will be
> set to None.
>
> If your input tuple has more than 4, the remaining will be ignored.
>
> --
> Cordially,
> Noufal
> http://nibrahim.net.in
> _______________________________________________
> BangPypers mailing list
> BangPypers@python.org
> http://mail.python.org/mailman/listinfo/bangpypers
>
_______________________________________________
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers

Reply via email to