The following proposed solution is not intended to be a solution, it
goes completely against the zen of python. [Type import this into the
python command interpreter]
I brought it down to two lines:-
l = range(6)
[1 if b!=4 else l.__delslice__(0,len(l)) for b in l][:-1]
itertools would still be a better approach in my opinion.
Just because I'm curious to know, can anyone bring it shorter[even if
its cryptic] than this without invoking any Python Library.
P.S. Once again I would not recommend using this as Explicit is better
than Implicit
P.P.S. It is strongly undesirable for us humans to use anything
starting with __
On May 15, 5:10 pm, "Geoffrey Clements"
| It seems that I rather frequently need a list or iterator of the form
| [x for x in <> while <>]
I can think of two ways to interpret that.
I mean like [x for x in <A> if <B>], only that it breaks the loop when
the expression <B> is false.
def gen(a):
for x in a:
if B: break
yield x
a_gen = gen(A)
# now iterate over a_gen