На этом шаге мы рассмотрим способы выполнения этой задачи.
Для генерации неопределенного количества значений предназначены следующие функции:
>>> import itertools >>> for i in itertools.count (): if i > 10: break print(i, end=" ") 0 1 2 3 4 5 6 7 8 9 10 >>> list (zip(itertools.count(), "абвгд") ) [(0, 'a'), (1, 'б'), (2, 'в'), (3, 'г'), (4, 'д')] >>> list (zip(itertools.count (start=2, step=2), "абвгд")) [(2, 'a'), (4, 'б'), (6, 'в'), (8, 'г'), (10, 'д')]
>>> n = 1 >>> for i in itertools.cycle ("абв"): if n > 10: break print(i, end=" ") n += 1 а б в а б в а б в а >>> list (zip(itertools.cycle ([0, 1]), "абвгд")) [(0, 'a'), (1, 'б'), (0, 'в'), (1, 'г'), (0, 'д')]
>>> list (itertools.repeat (1, 10)) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] >>> list (zip (itertools.repeat (5), "абвгд")) [(5, 'a'), (5, 'б'), (5, 'в'), (5, 'г'), (5, 'д')]
На следующем шаге мы рассмотрим генерацию комбинаций значений.