Форум сайта python.su
дана последовательность чисел
например (0, 1, 2)
указано количество цифр в комбинации = n
например 3
в результате должны получить двумерный список вида:
000
001
002
010
011
012
020
021
022
100
101
102
110
111
112
120
121
122
200
201
202
210
211
212
220
221
222
пробовал комбинировать разные функции из itertools (combinations_with_replacement, combinations, permutations) не получилось именно это получить, помогите пожалуйста…
Отредактировано (Март 14, 2011 23:51:45)
Офлайн
>>> l = (0, 1, 2)
>>> n = 3
>>> list(product(*([l]*n)))
[(0, 0, 0), (0, 0, 1), (0, 0, 2), (0, 1, 0), (0, 1, 1), (0, 1, 2), (0, 2, 0), (0, 2, 1), (0, 2, 2), (1, 0, 0), (1, 0, 1), (1, 0, 2), (1, 1, 0), (1, 1, 1), (1, 1, 2), (1, 2, 0), (1, 2, 1), (1, 2, 2), (2, 0, 0), (2, 0, 1), (2, 0, 2), (2, 1, 0), (2, 1, 1), (2, 1, 2), (2, 2, 0), (2, 2, 1), (2, 2, 2)]
Отредактировано (Март 15, 2011 00:16:30)
Офлайн
cookie-god
NameError: name ‘product’ is not defined ((
какой это модуль?
Офлайн
from itertools import product
Отредактировано (Март 15, 2011 09:29:59)
Офлайн
спасибо!
Офлайн