Oh, and there is additional requirement: it must be a one liner with at most 80 characters ;-)
W dniu 30 czerwca 2009 10:44 użytkownik Filip Gruszczyński <grusz...@gmail.com> napisał: > This is purely sport question. I don't really intend to use the answer > in my code, but I am wondering, if such a feat could be done. > > I have a following problem: I have a list based upon which I would > like to construct a different one. I could simply use list > comprehensions, but there is an additional trick: for some elements on > this list, I would like to return two objects. For example I have a > list of 0s and 1s and for 0 I would like to add 1 'a' and for 1 I > would like to add 2 'b', like this: > > [1, 0, 0, 1] -> ['b', 'b', 'a', 'a', 'b', 'b'] > > The easy way is to return a tuple ('b', 'b') for 1s and then flatten > them. But this doesn't seem very right - I'd prefer to create a nice > iterable right away. Is it possible to achieve this? Curiosly, the > other way round is pretty simple to achieve, because you can filter > objects using if in list comprehension. > > > -- > Filip Gruszczyński > -- Filip Gruszczyński -- http://mail.python.org/mailman/listinfo/python-list