Поскольку java-компилятор использует неявное создание массива для varargs, а java не позволяет создавать общий массив (поскольку аргумент типа не может быть повторно идентифицирован).
Правильный код (эти операции разрешены с массивами), поэтому необходимо непроверенное предупреждение:
public static List> createCombinations(List ... lists) {
((Object[]) lists)[0] = new ArrayList();
// place your code here
}
См. подробное объяснение здесь
Все в коде выглядит правильно, кроме [z] [z], для получения первого элемента должно быть [z] [0].
count_datapoints_per_controller = []
for z in range(len(datapoints_per_controller)):
var = datapoints_per_controller[z][0]
count_datapoints_per_controller.append(var)
Это, вероятно, даст вам желаемый результат.
Вы можете использовать list comprehension
>>> data = [[1,2,3,4],[5,6,7,8]]
>>> [ d[0] for d in data]
[1, 5]
>>>
Проблема в вашем коде, datapoints_per_controller [z] [z], для выбора 1-го элемента вы должны использовать [0]. Однако вы использовали [z], и он выбрасывает индекс за пределы диапазона.