Мне нужно небольшое изменение в следующем коде.
from itertools import chain, combinations, product
from pprint import pprint
data = {
'uc':(1, 'ABCDEF'),
'lc':(2, 'abcdef'),
'no':(3, '123456'),
}
def main():
iters = [combinations(l,n) for n,l in data.values()]
combine_list = []
for count, group in data.values():
print('picking {} of {}'.format(count, group))
combine_list.append(list(combinations(group, count)))
combos = list(product(*combine_list))
pprint(combos)
main()
Вместо заданных наборов 'ABCDEF', 'abcdef' и '123456' я хочу ввести значения в этом формате:
data = {
'uc':(1, '(A,B,C),(D,E),F'),
'lc':(2, '(a,b,c),(d,e),f'),
'no':(3, '(1,2,3),(4,5),6'),
}
, и в этом случае код будет обрабатывать значения между () как один элемент.Я попробовал это, но это не дает желаемого результата, когда я это делаю.Как мне это сделать, чтобы это работало?