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

1from collections.abc import Iterable 

2 

3from ..typing import Comparable 

4from .common import iter_to_seq # noqa: F401 

5 

6 

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 ]