У меня есть список, если элементы/кортежи, которые содержат наборы, как это:Сформировать последовательность строк, основываясь на шнурке выборки из строки фрагментов
a_list = [(a, {x}), (b, {y}), (c, {y,z}), (d, {y,z}), (e, {x,y}), (f, {x,y,z})]
И образец образец:
pattern = {x,y}
Учитывая количество рисунков, я хотел бы сгенерировать последовательность элементов из списка a_list, который больше всего подходит для шаблона. Образец должен выполняться со второй частью кортежа, набором.
Пример:
Результат с draws = 2
может быть:
result = [(a, {x}), (b, {y})]
# x, y
или
result = [(e, {x,y}), (a, {x})]
# x, y
или
result = [(e, {x,y}), (b, {y})]
# x, y
В обоих случаях выполнить шаблон {х, у} в течение 2 ничьих ,
Результат с draws = 1
может быть только:
result = (e, {x,y})
# x, y
, так как есть только одна ничья, чтобы выполнить шаблон и единственный элемент е соответствует шаблону полностью.
Результат с draws = 7
может быть:
result = [(a, {x}), (b, {y}), (e, {x,y}), (f, {x,y,z}), (c, {y,z})]
# x, y, x, y, x, y, y
Может ли такая функция будет выполнена, и если, как?
Благодарим за помощь!
сдобы
Что вы подразумеваете под «накладными расходами» и «ничьей»? является 'draw' * ожидаемым * число {x, y} должно быть в конечных множествах? – TuanDT
«draw» - это количество раз, когда элемент из a_list берется и оценивается по шаблону. – Raggamuffin
Я удалил накладные расходы, это просто усложняло мысль. С накладными расходами я имею в виду, когда я беру 7 элементов из списка, и у шаблона есть 2 предмета, в идеале шаблон подходит 3 раза, а последний ничья подходит только для части рисунка. эта часть i вызывает накладные расходы. – Raggamuffin