Iterate and generate a tuple with a flag for last value.
(values: Iterable[T])
| 16 | |
| 17 | |
| 18 | def loop_last(values: Iterable[T]) -> Iterable[Tuple[bool, T]]: |
| 19 | class="st">""class="st">"Iterate and generate a tuple with a flag for last value."class="st">"" |
| 20 | iter_values = iter(values) |
| 21 | try: |
| 22 | previous_value = next(iter_values) |
| 23 | except StopIteration: |
| 24 | return |
| 25 | for value in iter_values: |
| 26 | yield False, previous_value |
| 27 | previous_value = value |
| 28 | yield True, previous_value |
| 29 | |
| 30 | |
| 31 | def loop_first_last(values: Iterable[T]) -> Iterable[Tuple[bool, bool, T]]: |
no outgoing calls