всевозможными комбинациями? Я разачарован.
Пример
l=["а","б","с"]
на выходе должно быть
а
аа
ааа
аб
абб
абс
аба
б
бб
ббс
бба
баб
и т.д.
Ну там много функций, есть та которая делает что ты просишь
прямо есть та самая, которая удовлетворит запросу?
я вот что придумал, это ужасно, но решает задачу. list(itertools.chain(list(itertools.product(a, repeat=3)), list(itertools.product(a, repeat=2)), list(itertools.product(a, repeat=1)))) [('a', 'a', 'a'), ('a', 'a', 'b'), ('a', 'a', 'c'), ('a', 'b', 'a'), ('a', 'b', 'b'), ('a', 'b', 'c'), ('a', 'c', 'a'), ('a', 'c', 'b'), ('a', 'c', 'c'), ('b', 'a', 'a'), ('b', 'a', 'b'), ('b', 'a', 'c'), ('b', 'b', 'a'), ('b', 'b', 'b'), ('b', 'b', 'c'), ('b', 'c', 'a'), ('b', 'c', 'b'), ('b', 'c', 'c'), ('c', 'a', 'a'), ('c', 'a', 'b'), ('c', 'a', 'c'), ('c', 'b', 'a'), ('c', 'b', 'b'), ('c', 'b', 'c'), ('c', 'c', 'a'), ('c', 'c', 'b'), ('c', 'c', 'c'), ('a', 'a'), ('a', 'b'), ('a', 'c'), ('b', 'a'), ('b', 'b'), ('b', 'c'), ('c', 'a'), ('c', 'b'), ('c', 'c'), ('a',), ('b',), ('c',)] Есть более красивое решение?
Есть, itertools.combinations_with_replacement
нет, это не оно, см пример внимательнее.
нет это не оно
это не оно, выше уже разобрали
Вполне оно.
нет.
Это прямо по определению оно.
А, оно походу только с сохранением порядка генерит. Хуево
Обсуждают сегодня