найти все комбинации сущностей из разных списков:
                  
                  
                  
                  
                  
                  combinations_gen = itertools.product(
                  
                  
                  *[
                  
                  
                      [None, *concrete_accs_list]
                  
                  
                      for concrete_accs_list in drink_structure.accessories
                  
                  
                   ],
                  
                  
                  )
                  
                  
                  хорошо, справились
                  
                  
                  совершенно все комбинации есть, даже учитывая, что сущность может где-то отсутствовать вовсе
                  
                  
                  генерим все комбинации, и оказывается, что шанс выпадения сущностей очень большой (вместо их отсутствия), т.е. рандомно полученные комбинации из списка всех комбинаций получаются слишком насыщенные этими сущностями
                  
                  
                  
                  
                  
                  ладно, разбавим добавлением ещё n-го количества None в генератор, а после получения рандомных  будем отсеивать неуникальные
                  
                  
                  combinations_gen = itertools.product(
                  
                  
                  *[
                  
                  
                      [*[None] * len(concrete_accs_list), *concrete_accs_list]
                  
                  
                      for concrete_accs_list in drink_structure.accessories
                  
                  
                   ],
                  
                  
                  )
                  
                  
                  количество комбинаций с отсутствующими сущностями увеличится (возрастёт шанс их выпадения), но (!):
                  
                  
                  комбинаций станет слишком много и будут дублироваться в БД (сейчас 35М, 10гб, и это только 2/15)
                  
                  
                  Пишу в БД, т.к. питон в памяти уже не вывозит такой списочек
                  
                  
                  
                  
                  
                  собственно сам вопрос: 
                  
                  
                  каким другим образом можно разбавить исходные комбинации, чтоб в них реже попадались эти сущности?
                  
                  
                
вероятность из рандома берётся я беру рандомные комбинации из пула всех получившихся
Обсуждают сегодня