у меня есть 3 списков, как это:алгоритм Python, чтобы последовательно генерировать все возможные результаты слот-автомата
reel1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
reel2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
reel3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Мне нужна функция генератора, которая может последовательно дать мне эти:
Первый вывод:
[
[1,2,3]
[1,2,3]
[1,2,3]
]
Второй выход:
[
[1,2,3]
[1,2,3]
[2,3,4] # Sequentially go through the list
]
...
девятым выход:
[
[1,2,3]
[2,3,4] # Next block of 3 of the second list
[1,2,3]
]
Всю дорогу:
[
[8,9,10] # Last block of 3 of the first list
[8,9,10] # Last block of 3 of the second list
[8,9,10] # Last block of 3 of the third list
]
Что такое эффективный алгоритм для достижения выше?
Мой текущий метод: я использую 3 для циклов для последовательного прохождения всех 3 списков, но я не думаю, что он эффективен. Кроме того, если у меня будет более 3 списков, мне придется отступать много.
Благодарим за помощь!
Я думаю, что это не хватает случаев с запахом '(9, 10, 1) и' (10, 1, 2) '(хотя об этом не задавали в вопросе) –
OP, похоже, не хочет этого. –
Согласен, что не задано явно, но OP заявила, что это игровой автомат с барабанами, кажется разумным заключить –