Есть функция some_f() и в ней список lst = ['left', 'right', 'up'] Я хочу сделать функцию которая будет возвращать значение из списка и каждый раз оно будет новым и идти по порядку т.е 1. some_f() => 'left' 2. some_f() => 'right' 3. some_f() => 'up' 4. some_f() => 'left' Как это можно сделать или есть вариант проще?
lst = ['left', 'right', 'up'] class MyClass: i = 0 def func(self): self.i += 1 return lst[self.i % len(lst)-1] a = MyClass() print(a.func()) print(a.func()) print(a.func()) print(a.func()) print(a.func()) print(a.func()) Код lst = ['left', 'right', 'up'] class MyClass: i = 0 def func(self): self.i += 1 return lst[self.i % len(lst)-1] a = MyClass() print(a.func()) print(a.func()) print(a.func()) print(a.func()) print(a.func()) print(a.func()) вывод left right up left right up >>> Код left right up left right up >>>