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 … Read more