Coverage for src/extratools_core/seq/__init__.py: 0%
5 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-04 06:13 -0700
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-04 06:13 -0700
1from collections.abc import Iterable
3from ..typing import Comparable
4from .common import iter_to_seq # noqa: F401
7def sorted_by_rank[T](
8 data: Iterable[T],
9 ranks: Iterable[Comparable],
10 *,
11 _reverse: bool = False,
12) -> list[T]:
13 return [
14 v
15 for v, _ in sorted(
16 zip(data, ranks, strict=True),
17 key=lambda x: x[1],
18 reverse=_reverse,
19 )
20 ]