Каждый вложенный массив сканируется в том порядке, в котором они появляются в основном массиве. Сканируемый элемент объединяется с последним элементом каждого массива перед текущим и первым элементом каждого массива после текущего.
Пример:
Код: Выделить всё
all_arrays = [[1.1, 1.05], [2.1, 2.05, 2], [3.1, 3.05]]
Код: Выделить всё
[
[1.1, 2.1, 3.1],
[1.05, 2.1, 3.1],
[1.05, 2.05, 3.1],
[1.05, 2, 3.1],
[1.05, 2, 3.05]
]
Код: Выделить всё
combinations = []
for ii in range(len(all_arrays)):
while len(all_arrays[ii]) > 1:
combinations.append(next(zip(*all_arrays)))
all_arrays[ii] = all_arrays[ii][1:]
combinations.append(next(zip(*all_arrays)))
Подробнее здесь: https://stackoverflow.com/questions/798 ... ombination
Мобильная версия