Ответ 1
Вы можете использовать оператор *
перед итерацией, чтобы развернуть его в вызове функции. Например:
timeseries_list = [timeseries1 timeseries2 ...]
r = scikits.timeseries.lib.reportlib.Report(*timeseries_list)
(обратите внимание на *
перед timeseries_list
)
Из документации по питону:
Если выражение синтаксиса * появляется в вызове функции, выражение должно быть итеративным. Элементы из этой итерации обрабатываются так, как если бы они были дополнительными позиционными аргументами; если есть позиционные аргументы x1,..., xN, и выражение оценивается как последовательность y1,..., yM, это эквивалентно вызову с M + N позиционными аргументами x1,..., xN, y1,..., гм
Это также описано в руководстве по Python, в разделе, озаглавленном " Распаковка списков аргументов", где также показано, как сделать то же самое со словарями для аргументов ключевых слов с оператором **
.