Given [(1,), (2,), (3,)], should yield: () (3,) (2, 3) (1, 2, 3)
(
l: Sequence[Iterable[Parameter]]
)
| 267 | |
| 268 | |
| 269 | def permute_left_option_groups( |
| 270 | l: Sequence[Iterable[Parameter]] |
| 271 | ) -> Iterator[ParamTuple]: |
| 272 | """ |
| 273 | Given [(1,), (2,), (3,)], should yield: |
| 274 | () |
| 275 | (3,) |
| 276 | (2, 3) |
| 277 | (1, 2, 3) |
| 278 | """ |
| 279 | yield tuple() |
| 280 | accumulator: list[Parameter] = [] |
| 281 | for group in reversed(l): |
| 282 | accumulator = list(group) + accumulator |
| 283 | yield tuple(accumulator) |
| 284 | |
| 285 | |
| 286 | def permute_right_option_groups( |
searching dependent graphs…