Given [(1,), (2,), (3,)], should yield: () (1,) (1, 2) (1, 2, 3)
(
l: Sequence[Iterable[Parameter]]
)
| 284 | |
| 285 | |
| 286 | def permute_right_option_groups( |
| 287 | l: Sequence[Iterable[Parameter]] |
| 288 | ) -> Iterator[ParamTuple]: |
| 289 | """ |
| 290 | Given [(1,), (2,), (3,)], should yield: |
| 291 | () |
| 292 | (1,) |
| 293 | (1, 2) |
| 294 | (1, 2, 3) |
| 295 | """ |
| 296 | yield tuple() |
| 297 | accumulator: list[Parameter] = [] |
| 298 | for group in l: |
| 299 | accumulator.extend(group) |
| 300 | yield tuple(accumulator) |
| 301 | |
| 302 | |
| 303 | def permute_optional_groups( |
searching dependent graphs…