Using while in list comprehension or generator expressions Using while in list comprehension or generator expressions python python

Using while in list comprehension or generator expressions


Because the syntax of takewhile() and dropwhile() is not the clearest, here are the actual examples of your question:

>>> [i for i in itertools.takewhile(lambda x: x*x<30, range(10))][0, 1, 2, 3, 4, 5]>>> [i for i in itertools.dropwhile(lambda x: x*x<30, range(10))][6, 7, 8, 9] 

Know that the author of itertools has questioned whether to deprecate these functions.


The various functions in itertools (takewhile() comes to mind) can help.