The itertools module in the standard library provides a number of tools for conveniently iterating through a collection of elements.

The dropwhile() function in the module creates an iterator for an iterable, which only starts yielding items once a Boolean function applied to an item in the iterable returns False.

dropwhile(predicate, iterable)
predicate Required. A single-argument Boolean function which is applied to the iterable elements.
iterable The iterable to be iterated over such as a list, tuple, range, set, etc 

The function creates an iterator object which does not yield any elements until the predicate function yields False for the first time.

#import the function from itertools
from itertools import dropwhile

data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

my_iter = dropwhile(lambda x : x < 5, data)

for i in my_iter:
    print(i)

In the above example we created a lambda function which checks whether a value is less than 5. The dropwhile() uses this function as the predicate so that the iterator only starts yielding elements once a value which is not less than 5 is encountered.

You should note that once the condition fails, there are no more checks done and the iteration will continue up to the end of the iterable regardless of whether the any of the remaining elements would yield True or False with the predicate

from itertools import dropwhile

data = [1, 3, 5, 7, 8, 9, 10, 11]

my_iter = dropwhile(lambda x: x % 2, data)

for i in my_iter:
   print(i)