Various changes.
[python_utils.git] / dict_utils.py
index 2362749b12c91b7f2d2b6519d3c9db1506a12fe8..74e8fdab22749917f21ae88c150b838120bb0820 100644 (file)
@@ -3,8 +3,6 @@
 from itertools import islice
 from typing import Any, Callable, Dict, Iterator, Tuple
 
-import list_utils
-
 
 def init_or_inc(
     d: Dict[Any, Any],
@@ -27,7 +25,8 @@ def shard(d: Dict[Any, Any], size: int) -> Iterator[Dict[Any, Any]]:
 
 
 def coalesce_by_creating_list(key, v1, v2):
-    return list_utils.flatten([v1, v2])
+    from list_utils import flatten
+    return flatten([v1, v2])
 
 
 def coalesce_by_creating_set(key, v1, v2):
@@ -41,9 +40,9 @@ def raise_on_duplicated_keys(key, v1, v2):
 def coalesce(
         inputs: Iterator[Dict[Any, Any]],
         *,
-        aggregation_function: Callable[[Any, Any, Any], Any] = coalesce_by_creating_list
+        aggregation_function: Callable[[Any, Any], Any] = coalesce_by_creating_list
 ) -> Dict[Any, Any]:
-    out = {}
+    out: Dict[Any, Any] = {}
     for d in inputs:
         for key in d:
             if key in out: