enumerate(iter, start=0) — проходится по итератору и возвращает кортеж (индекс, значение). Если задать второй параметр, то индекс сместиться на start единиц.zip(a, b, c...) — параллельно проходит по всем объектам, возвращая по элементу с каждого. reversed(obj) — просто переворачивает obj. Если это не возможно — возвращает ошибку.Если вы что-то не поняли, то можете посетить документацию: enumerate, zip и reversed.
#теория
