practice-python tutorial class data structure in python error functions heapq, itertools and collections iterator and generator list comprehension Numpy numpy.ndarray