Думаю, вы ищете что-то вроде этого:
a_list = [[1,2,3,4],[4,5,7],[3,4,2]]
b = Cycle()
for i in a_list:
b = b(*tuple(i))
print(b)
Чтобы преобразовать в список, попробуйте b.list()
.
Пояснение
tuple(i)
преобразует [1,2,3,4]
в (1,2,3,4)
Допустим, у вас есть функция foo
. Бег foo(1,2,3,4)
такой же, как бег foo(*(1,2,3,4))
Более простой пример:
a_list = [[1,2], [3,4]]
b = Cycle()
На первой итерации (i = [1,2]
) вызов b(*tuple(i))
совпадает с вызовом b(1,2)
, что, поскольку b = Cycle()
, на самом деле Cycle()(1,2)
который совпадает с Cycle(1,2)
согласно документам .
На второй итерации (i = [3,4]
) вызов b(*tuple(i))
действительно b(3,4)
, что составляет Cycle(1,2)(3,4)
Надеюсь, этот пример имеет смысл. Это немного сбивает с толку, потому что здесь так много скобок. Если вы все еще в затруднении, вы можете выполнить код пошагово (возможно, с помощью отладчика), чтобы понять, что происходит.