У меня есть функция, которая принимает позиционные аргументы в этом формате. Редактировать это невозможно для моего варианта использования (долгая история).
import pandas as pd
import numpy as np
import random
def dummy_func(*args):
outlist = []
for arg in args:
arg.append(42)
outlist.append(arg)
return outlist
Обычно функция принимает любое количество списков целых чисел в следующем формате и обрабатывает их следующим образом:
s1 = [random.randrange(1, 101, 1) for _ in range(10)]
s2 = [random.randrange(1, 101, 1) for _ in range(10)]
s3 = [random.randrange(1, 101, 1) for _ in range(10)]
dummy_func(s1,s2,s3)
Я пытаюсь создать функцию, которая собирает список списков целых чисел для передачи в dummy_func
, указанный выше. Все списки имеют одинаковую длину, но мы передаем их функции пакетами, и мы не знаем, сколько списков будет в каждом пакете.
def analyse_some_series():
# Generate a random number of lists
count = np.random.choice(10)
for i in range(count):
mylist = [random.randrange(1, 101, 1) for _ in range(10)]
outer_list.append(mylist)
# This does not work for some reason
finalfunc(outer_list)
По какой-то причине, когда вы передаете список списков в функцию, она не разворачивает и не обрабатывает список списков. Вместо этого он просто видит один объект списка в неправильном формате.
Теперь обычно я бы просто сделал что-то вроде:
x,y,z = series_list
Но здесь это не сработает, поскольку мы не знаем, сколько списков будет сгенерировано.
Любая помощь, которую вы могли бы предложить, будет принята с благодарностью.