Coverage for src/qollib/collections/reducing.py: 100%
12 statements
« prev ^ index » next coverage.py v7.5.4, created at 2024-06-24 08:41 +0000
« prev ^ index » next coverage.py v7.5.4, created at 2024-06-24 08:41 +0000
1#!/usr/bin/env python3
2# -*- coding: utf-8 -*-
3"""
4The `reducing` utilities provides methods to reduce (dimensions) of arrays.
6@author: hoelken
7"""
8from typing import Iterable
11def flatten_sorted(lists: Iterable) -> list:
12 """Flattens a list of lists and sorts the result"""
13 result = flatten(lists)
14 result.sort()
15 return result
18def flatten(lists: Iterable) -> list:
19 """Flattens a list of lists and sorts the result"""
20 result = []
21 for entry in lists:
22 if isinstance(entry, Iterable) and not isinstance(entry, (str, dict)):
23 result.extend(flatten(entry))
24 else:
25 result.append(entry)
26 return result